public class StructType extends DerivedType implements Scopeable
Modifier and Type | Field and Description |
---|---|
private boolean |
complete |
private Scopeable |
definingScope
Defines the scope (a CompoundStatement, or a TranslationUnit) in which
this structure has been declared.
|
private java.util.ArrayList<StructOrUnionMember> |
elementList |
private java.lang.String |
tag |
private java.util.HashMap<java.lang.String,Typedef> |
typedefTable |
private java.util.HashMap<java.lang.String,Type> |
typeTable |
storageClasses
Constructor and Description |
---|
StructType(java.lang.String tag,
Scopeable definingScope)
This method is generally called before diving into the definition, if
any, of
the related union.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
getDeclarationSpecifiersString() |
Scopeable |
getDefiningScope() |
java.util.ArrayList<StructOrUnionMember> |
getElementList() |
Type |
getElementType(java.lang.String elementName) |
java.lang.String |
getTag() |
java.util.HashMap<java.lang.String,Typedef> |
getTypedefTable() |
java.util.HashMap<java.lang.String,Type> |
getTypeTable() |
boolean |
isComplete()
This method is overridden at appropriate subclasses
to return true.
|
void |
makeComplete(java.util.ArrayList<StructOrUnionMember> elementList)
This method is called at the end of the construction
of a struct.
|
void |
setDefiningScope(Scopeable definingScope) |
void |
setTag(java.lang.String tag) |
void |
setTypedefTable(java.util.HashMap<java.lang.String,Typedef> typedefTable) |
void |
setTypeTable(java.util.HashMap<java.lang.String,Type> typeTable) |
java.lang.String |
toString()
Returns a string of an abstract declaration of this type.
|
getComplexType, getDeclaration, getDeclaratorString, getIntegerPromotedType, getRealType, getType, getTypeDomain, getTypeEntry, getTypeFromArithmeticKeys, getTypeFromScope, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, getTypeTree, hasConstQualifier, isAggregateType, isBasicType, isCharacterType, isDerivedDeclaratorType, isKnownConstantSized, isRealType, isScalarType, putTypeToScope
private Scopeable definingScope
private java.lang.String tag
private java.util.ArrayList<StructOrUnionMember> elementList
private java.util.HashMap<java.lang.String,Type> typeTable
private java.util.HashMap<java.lang.String,Typedef> typedefTable
private boolean complete
public StructType(java.lang.String tag, Scopeable definingScope)
public void makeComplete(java.util.ArrayList<StructOrUnionMember> elementList)
elementList
- public void setTypedefTable(java.util.HashMap<java.lang.String,Typedef> typedefTable)
public java.util.HashMap<java.lang.String,Typedef> getTypedefTable()
public void setTypeTable(java.util.HashMap<java.lang.String,Type> typeTable)
public java.util.HashMap<java.lang.String,Type> getTypeTable()
getTypeTable
in interface Scopeable
public boolean isComplete()
Type
isComplete
in class Type
public java.util.ArrayList<StructOrUnionMember> getElementList()
public Type getElementType(java.lang.String elementName)
protected java.lang.String getDeclarationSpecifiersString()
getDeclarationSpecifiersString
in class Type
public java.lang.String toString()
Type
public Scopeable getDefiningScope()
public void setDefiningScope(Scopeable definingScope)
public java.lang.String getTag()
public void setTag(java.lang.String tag)