package org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.traverse; import org.rascalmpl.value.IValue; public interface ITraverseSpecialization { IValue traverseOnceBottomUpContinuingFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceBottomUpContinuingFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseOnceBottomUpContinuingNoFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceBottomUpContinuingNoFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseOnceBottomUpBreakingFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceBottomUpBreakingFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseOnceBottomUpBreakingNoFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceBottomUpBreakingNoFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseOnceTopDownContinuingFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceTopDownContinuingFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseOnceTopDownContinuingNoFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceTopDownContinuingNoFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseOnceTopDownBreakingFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceTopDownBreakingFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseOnceTopDownBreakingNoFixedPointConcrete(IValue subject, TraversalState tr); IValue traverseOnceTopDownBreakingNoFixedPointAbstract(IValue subject, TraversalState tr); IValue traverseStringOnce(IValue subject, TraversalState tr); }