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 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)
           
 
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)