.. java:import:: fr.inria.tapenade.utils ILLang .. java:import:: fr.inria.tapenade.utils TapPair .. java:import:: fr.inria.tapenade.utils TapTriplet .. java:import:: fr.inria.tapenade.utils ToBool .. java:import:: fr.inria.tapenade.utils ToObject .. java:import:: fr.inria.tapenade.utils Tree .. java:import:: fr.inria.tapenade.representation TapList CompositeTypeSpec ================= .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: public class CompositeTypeSpec extends TypeSpec A composite type, e.g. a record or a union. Fields ------ fields ^^^^^^ .. java:field:: public FieldDecl[] fields :outertype: CompositeTypeSpec The fields of this composite type, in order. isAnIOType ^^^^^^^^^^ .. java:field:: protected boolean isAnIOType :outertype: CompositeTypeSpec When true, indicates that this CompositeTypeSpec is an IO type (and therefore its zones must be special). modifiers ^^^^^^^^^ .. java:field:: public Tree modifiers :outertype: CompositeTypeSpec The modifiers of this type (e.g. sequence, private for F95 derived types). name ^^^^ .. java:field:: public String name :outertype: CompositeTypeSpec When available, the name of this type. Constructors ------------ CompositeTypeSpec ^^^^^^^^^^^^^^^^^ .. java:constructor:: public CompositeTypeSpec(String name, FieldDecl[] fields, int subKind, Tree modifiers, Unit definingUnit) :outertype: CompositeTypeSpec Creates a new composite type. Methods ------- addDiffTypeSpec ^^^^^^^^^^^^^^^ .. java:method:: @Override protected void addDiffTypeSpec(SymbolTable symbolTable, SymbolTable srcSymbolTable) :outertype: CompositeTypeSpec baseTypeName ^^^^^^^^^^^^ .. java:method:: @Override protected String baseTypeName() :outertype: CompositeTypeSpec checkNamedFieldType ^^^^^^^^^^^^^^^^^^^ .. java:method:: protected WrapperTypeSpec checkNamedFieldType(Tree instrTree, SymbolTable symbolTable, WrapperTypeSpec typeSpec) :outertype: CompositeTypeSpec checkTypeSpecValidity ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override protected boolean checkTypeSpecValidity(TapList dejaVu) :outertype: CompositeTypeSpec collectUsedTrees ^^^^^^^^^^^^^^^^ .. java:method:: @Override public void collectUsedTrees(TapList toUsedTrees, TapList toDejaVu) :outertype: CompositeTypeSpec computeSize ^^^^^^^^^^^ .. java:method:: @Override protected int computeSize() :outertype: CompositeTypeSpec containsAPointer ^^^^^^^^^^^^^^^^ .. java:method:: @Override public boolean containsAPointer() :outertype: CompositeTypeSpec containsMetaType ^^^^^^^^^^^^^^^^ .. java:method:: @Override protected boolean containsMetaType(TapList dejaVu) :outertype: CompositeTypeSpec copy ^^^^ .. java:method:: @Override public TypeSpec copy() :outertype: CompositeTypeSpec :return: a copy of this composite type. copyStopOnComposite ^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override public TypeSpec copyStopOnComposite(Unit publishedUnit) :outertype: CompositeTypeSpec cumulActiveParts ^^^^^^^^^^^^^^^^ .. java:method:: @Override protected void cumulActiveParts(TapList diffInfos, SymbolTable symbolTable) :outertype: CompositeTypeSpec differentiateTypeSpec ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override public WrapperTypeSpec differentiateTypeSpec(SymbolTable symbolTable, SymbolTable srcSymbolTable, int diffUnitSort, String diffTypeSuffix, boolean localDecl, boolean multiDirMode, ArrayDim multiDirDimensionMax, String hintArrayNameInText, String hintArrayNameInIdent, Tree hintArrayNameTree, Tree nameTree) :outertype: CompositeTypeSpec doUpdateAfterImports ^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override public void doUpdateAfterImports(SymbolTable symbolTable, TapList dejaVu) :outertype: CompositeTypeSpec dump ^^^^ .. java:method:: @Override public void dump() throws java.io.IOException :outertype: CompositeTypeSpec generateTree ^^^^^^^^^^^^ .. java:method:: @Override public Tree generateTree(SymbolTable symbolTable, TapList dependsOn, TapList shortNames, boolean useShortNames, TapList dejaVu) :outertype: CompositeTypeSpec getFieldType ^^^^^^^^^^^^ .. java:method:: public WrapperTypeSpec getFieldType(Tree field) :outertype: CompositeTypeSpec :return: the type of "field" in this composite type. initActiveFields ^^^^^^^^^^^^^^^^ .. java:method:: public void initActiveFields() :outertype: CompositeTypeSpec isAnIOTypeSpec ^^^^^^^^^^^^^^ .. java:method:: @Override protected boolean isAnIOTypeSpec(SymbolTable symbolTable) :outertype: CompositeTypeSpec isDifferentiated ^^^^^^^^^^^^^^^^ .. java:method:: @Override public boolean isDifferentiated(TapList dejaVu) :outertype: CompositeTypeSpec isDifferentiatedField ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public boolean isDifferentiatedField(int i) :outertype: CompositeTypeSpec :return: true if the field of rank "i" in this composite type is differentiated. isEmpty ^^^^^^^ .. java:method:: public boolean isEmpty() :outertype: CompositeTypeSpec :return: true if all fields of this composite type are empty. isRecordType ^^^^^^^^^^^^ .. java:method:: public boolean isRecordType() :outertype: CompositeTypeSpec :return: true is this composite is a record type. isUnionType ^^^^^^^^^^^ .. java:method:: public boolean isUnionType() :outertype: CompositeTypeSpec :return: true is this composite is a union type. localize ^^^^^^^^ .. java:method:: @Override protected TypeSpec localize(TapList> toAlreadyCopied, ToBool containsMeta) :outertype: CompositeTypeSpec namedFieldDecl ^^^^^^^^^^^^^^ .. java:method:: public FieldDecl namedFieldDecl(String name) :outertype: CompositeTypeSpec :return: the declaration of field "name" in this composite type. namedFieldOffset ^^^^^^^^^^^^^^^^ .. java:method:: public int namedFieldOffset(String name) :outertype: CompositeTypeSpec :return: the offset of field "name" in this composite type. namedFieldRank ^^^^^^^^^^^^^^ .. java:method:: public int namedFieldRank(String name) :outertype: CompositeTypeSpec :return: the rank of field "name" in this composite type. namedFieldType ^^^^^^^^^^^^^^ .. java:method:: public WrapperTypeSpec namedFieldType(String name) :outertype: CompositeTypeSpec :return: the type of field "name" in this composite type. needsADiffType ^^^^^^^^^^^^^^ .. java:method:: @Override public boolean needsADiffType(TapList dejaVu) :outertype: CompositeTypeSpec shareActiveFields ^^^^^^^^^^^^^^^^^ .. java:method:: public void shareActiveFields(CompositeTypeSpec other) :outertype: CompositeTypeSpec Make all CompositeTypeSpec's that share this.activeFields (as well as all CompositeTypeSpec's that share other.activeFields), all now share other.activeFields, and make sure that further sharing is still possible. showType ^^^^^^^^ .. java:method:: @Override public String showType() :outertype: CompositeTypeSpec testComparesWith ^^^^^^^^^^^^^^^^ .. java:method:: @Override protected boolean testComparesWith(TypeSpec other, int comparison, TypeSpec toThis, TypeSpec toOther, TapList> dejaVu) :outertype: CompositeTypeSpec toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: CompositeTypeSpec