AlignmentBoundary ================= .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: public final class AlignmentBoundary One boundary in an alignment Map. Contains the current offset, and the list of variables that start and stop at that offset. Also contains information regarding the memory fragment that follows this boundary and stops at next boundary. This information consists of the WrapperTypeSpec in this memory fragment, and holds a place for the zones that will be later defined for this fragment. Fields ------ accessTree ^^^^^^^^^^ .. java:field:: public Tree accessTree :outertype: AlignmentBoundary (RESTRICTED) Reference to the variables in the next memory fragment. Used to build the IL instructions that reset, save, push, pop,... these variables. active ^^^^^^ .. java:field:: protected boolean active :outertype: AlignmentBoundary True when the zone starting at this boundary is active. This field is used only for the degenerate case of MemMaps created during differentiation, and that only remember activity. endVars ^^^^^^^ .. java:field:: public TapList endVars :outertype: AlignmentBoundary The list of the VariableDecl's of the variables that terminate here (their last cell was at the previous offset). infiniteOffset ^^^^^^^^^^^^^^ .. java:field:: public boolean infiniteOffset :outertype: AlignmentBoundary nextType ^^^^^^^^ .. java:field:: protected WrapperTypeSpec nextType :outertype: AlignmentBoundary (RESTRICTED) The type of whatever starts here and extends till the next boundary. offset ^^^^^^ .. java:field:: public int offset :outertype: AlignmentBoundary The offset of the current boundary wrt the enclosing alignmentMap. startVars ^^^^^^^^^ .. java:field:: public TapList startVars :outertype: AlignmentBoundary The list of the TapTriplet VariableDecl, SymbolTable, Tree of the variables that start here. type ^^^^ .. java:field:: public WrapperTypeSpec type :outertype: AlignmentBoundary The WrapperTypeSpec of objects in the next memory fragment (can be array or elements type, unclear...). zones ^^^^^ .. java:field:: protected TapList zones :outertype: AlignmentBoundary The zones defined for the next memory fragment. Constructors ------------ AlignmentBoundary ^^^^^^^^^^^^^^^^^ .. java:constructor:: protected AlignmentBoundary(int offset) :outertype: AlignmentBoundary Creation of a boundary at the position "offset". AlignmentBoundary ^^^^^^^^^^^^^^^^^ .. java:constructor:: public AlignmentBoundary(int offset, boolean infiniteOffset) :outertype: AlignmentBoundary Creation of a boundary at the position "offset". Methods ------- addEndVar ^^^^^^^^^ .. java:method:: public void addEndVar(VariableDecl variableDecl, SymbolTable fromSymbolTable) :outertype: AlignmentBoundary Add a variable name that ends here. addStartVar ^^^^^^^^^^^ .. java:method:: public void addStartVar(VariableDecl variableDecl, SymbolTable fromSymbolTable, Tree accessTree) :outertype: AlignmentBoundary Add a variable name that starts here. buildNextType ^^^^^^^^^^^^^ .. java:method:: public WrapperTypeSpec buildNextType(int nbBytes) :outertype: AlignmentBoundary commonVariableDecl ^^^^^^^^^^^^^^^^^^ .. java:method:: public VariableDecl commonVariableDecl() :outertype: AlignmentBoundary isBefore ^^^^^^^^ .. java:method:: public boolean isBefore(int offset2, boolean infiniteOffset2) :outertype: AlignmentBoundary :return: true iff this AlignmentBoundary must appear strictly before location defined by "offset2" and "infiniteOffset2" isBefore ^^^^^^^^ .. java:method:: public boolean isBefore(AlignmentBoundary otherBoundary) :outertype: AlignmentBoundary :return: true iff this AlignmentBoundary must appear strictly before the given "otherBoundary" isEqual ^^^^^^^ .. java:method:: public boolean isEqual(int offset2, boolean infiniteOffset2) :outertype: AlignmentBoundary :return: true iff this AlignmentBoundary has location defined by "offset2" and "infiniteOffset2" isEqual ^^^^^^^ .. java:method:: public boolean isEqual(AlignmentBoundary otherBoundary) :outertype: AlignmentBoundary :return: true iff this AlignmentBoundary defines the same location as the given "otherBoundary" le ^^ .. java:method:: protected static boolean le(int offset1, boolean infiniteOffset1, int offset2, boolean infiniteOffset2) :outertype: AlignmentBoundary Comparison between 2 AlignmentBoundary's. :return: true iff offset1 is smaller than or equal to offset2, i.e. must appear before or with offset2 in the list of AlignmentBoundaries. lt ^^ .. java:method:: protected static boolean lt(int offset1, boolean infiniteOffset1, int offset2, boolean infiniteOffset2) :outertype: AlignmentBoundary Comparison between 2 AlignmentBoundary's. :return: true iff offset1 is strictly smaller than offset2, i.e. must appear before offset2 in the list of AlignmentBoundaries. removeEndVar ^^^^^^^^^^^^ .. java:method:: public void removeEndVar(VariableDecl variableDecl) :outertype: AlignmentBoundary Remove the given variableDecl from the variables that end here removeStartVar ^^^^^^^^^^^^^^ .. java:method:: public void removeStartVar(VariableDecl variableDecl) :outertype: AlignmentBoundary Remove the given variableDecl from the variables that start here setCommonVariableDecl ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setCommonVariableDecl(VariableDecl variableDecl) :outertype: AlignmentBoundary startVarDecls ^^^^^^^^^^^^^ .. java:method:: public TapList startVarDecls() :outertype: AlignmentBoundary toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: AlignmentBoundary