org.jetbrains.jet.lang.cfg
Class PseudocodeTraverser

java.lang.Object
  extended by org.jetbrains.jet.lang.cfg.PseudocodeTraverser

public class PseudocodeTraverser
extends java.lang.Object


Nested Class Summary
static class PseudocodeTraverser.Edges<T>
           
static interface PseudocodeTraverser.InstructionAnalyzeStrategy
           
static interface PseudocodeTraverser.InstructionDataAnalyzeStrategy<D>
           
static interface PseudocodeTraverser.InstructionDataMergeStrategy<D>
           
static interface PseudocodeTraverser.InstructionHandler
           
static class PseudocodeTraverser.LookInsideStrategy
           
static class PseudocodeTraverser.TraversalOrder
           
 
Constructor Summary
PseudocodeTraverser()
           
 
Method Summary
static
<D> java.util.Map<Instruction,PseudocodeTraverser.Edges<D>>
collectData(Pseudocode pseudocode, PseudocodeTraverser.TraversalOrder traversalOrder, PseudocodeTraverser.LookInsideStrategy lookInside, D initialDataValue, D initialDataValueForEnterInstruction, PseudocodeTraverser.InstructionDataMergeStrategy<D> instructionDataMergeStrategy)
           
static
<D> void
traverse(Pseudocode pseudocode, PseudocodeTraverser.TraversalOrder traversalOrder, java.util.Map<Instruction,PseudocodeTraverser.Edges<D>> edgesMap, PseudocodeTraverser.InstructionDataAnalyzeStrategy<D> instructionDataAnalyzeStrategy)
           
static void traverse(Pseudocode pseudocode, PseudocodeTraverser.TraversalOrder traversalOrder, PseudocodeTraverser.InstructionAnalyzeStrategy instructionAnalyzeStrategy)
           
static boolean traverseFollowingInstructions(Instruction rootInstruction, java.util.Set<Instruction> visited, PseudocodeTraverser.TraversalOrder order, PseudocodeTraverser.InstructionHandler handler)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PseudocodeTraverser

public PseudocodeTraverser()
Method Detail

collectData

public static <D> java.util.Map<Instruction,PseudocodeTraverser.Edges<D>> collectData(@NotNull
                                                                                      Pseudocode pseudocode,
                                                                                      PseudocodeTraverser.TraversalOrder traversalOrder,
                                                                                      PseudocodeTraverser.LookInsideStrategy lookInside,
                                                                                      @NotNull
                                                                                      D initialDataValue,
                                                                                      @NotNull
                                                                                      D initialDataValueForEnterInstruction,
                                                                                      @NotNull
                                                                                      PseudocodeTraverser.InstructionDataMergeStrategy<D> instructionDataMergeStrategy)

traverse

public static void traverse(@NotNull
                            Pseudocode pseudocode,
                            PseudocodeTraverser.TraversalOrder traversalOrder,
                            PseudocodeTraverser.InstructionAnalyzeStrategy instructionAnalyzeStrategy)

traverse

public static <D> void traverse(@NotNull
                                Pseudocode pseudocode,
                                PseudocodeTraverser.TraversalOrder traversalOrder,
                                @NotNull
                                java.util.Map<Instruction,PseudocodeTraverser.Edges<D>> edgesMap,
                                @NotNull
                                PseudocodeTraverser.InstructionDataAnalyzeStrategy<D> instructionDataAnalyzeStrategy)

traverseFollowingInstructions

public static boolean traverseFollowingInstructions(@NotNull
                                                    Instruction rootInstruction,
                                                    @NotNull
                                                    java.util.Set<Instruction> visited,
                                                    @NotNull
                                                    PseudocodeTraverser.TraversalOrder order,
                                                    @Nullable
                                                    PseudocodeTraverser.InstructionHandler handler)