.. java:import:: fr.inria.tapenade.representation Block .. java:import:: fr.inria.tapenade.representation FGArrow .. java:import:: fr.inria.tapenade.representation ILUtils .. java:import:: fr.inria.tapenade.representation SymbolTable .. java:import:: fr.inria.tapenade.representation TapEnv .. java:import:: fr.inria.tapenade.representation TapList .. java:import:: fr.inria.tapenade.utils ILLang .. java:import:: fr.inria.tapenade.utils TapTriplet .. java:import:: fr.inria.tapenade.utils Tree LetStruct ========= .. java:package:: fr.inria.tapenade.ir2tree :noindex: .. java:type:: final class LetStruct extends ControlStruct This structure represents a piece of Flow Graph that is the scope for new local variables. In other words it is a piece of C code between an opening and closing curly braces {} and that declares local variables. Fields ------ body ^^^^ .. java:field:: protected TapList body :outertype: LetStruct Constructors ------------ LetStruct ^^^^^^^^^ .. java:constructor:: protected LetStruct(SymbolTable symbolTable) :outertype: LetStruct Methods ------- addControlStruct ^^^^^^^^^^^^^^^^ .. java:method:: @Override protected void addControlStruct(ControlStruct struct, FGArrow arrow) :outertype: LetStruct addControlStructAtTail ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected void addControlStructAtTail(ControlStruct struct) :outertype: LetStruct dump ^^^^ .. java:method:: @Override public void dump(int indent) throws java.io.IOException :outertype: LetStruct generateTree ^^^^^^^^^^^^ .. java:method:: @Override protected void generateTree(boolean delayGoto, TapList> toFutureIncludes, TapList fileUserHelpStrings) :outertype: LetStruct (Recursive) final regeneration of the structured Tree. insertLetStructure ^^^^^^^^^^^^^^^^^^ .. java:method:: @Override protected void insertLetStructure() :outertype: LetStruct (Recursive) Inserts Let structures into the tree of ControlStruct's to reflect nested local SymbolTable's. preGenerateTree ^^^^^^^^^^^^^^^ .. java:method:: @Override protected TapList preGenerateTree(TapList naturalArrows, TapList> toFutureIncludes, TapList fileUserHelpStrings, TapList enclosingStructs, boolean skipSubUnits) :outertype: LetStruct (Recursive) preparation before tree regeneration. Labels the arrows that need explicit jumps, prepares the skeleton of the future Tree. :return: a TapList of FGArrow propagateNaturalFlow ^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override protected TapList propagateNaturalFlow() :outertype: LetStruct (Recursive) precomputation of the "naturalFlow: info: the TapList of FGArrow that would naturally flow out of this ControlStruct, i.e. without any additional explicit jump. propagateNaturalNext ^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override protected void propagateNaturalNext(Block naturalNext) :outertype: LetStruct (Recursive) precomputation of the "naturalNext" info: the next Block reached by natural flow from each ControlStruct. reorderBody ^^^^^^^^^^^ .. java:method:: @Override protected void reorderBody() :outertype: LetStruct (Recursive) Orders the lists of control structures inside, following all available indications on position... toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: LetStruct