ArrayTypeSpec¶
Constructors¶
ArrayTypeSpec¶
-
public
ArrayTypeSpec
(WrapperTypeSpec elementType, ArrayDim[] dimensions)¶ Create an array type on “elementType” with “dimensions”.
Methods¶
addDiffTypeSpec¶
-
protected void
addDiffTypeSpec
(SymbolTable symbolTable, SymbolTable srcSymbolTable)¶
addUsedSymbolsInType¶
-
public void
addUsedSymbolsInType
(TapList<SymbolDecl> toDependsOn, SymbolTable symbolTable)¶
baseTypeSpec¶
-
public WrapperTypeSpec
baseTypeSpec
(boolean stopOnPointer)¶
checkDimensions¶
-
public void
checkDimensions
(Tree arrayAccessTree, SymbolTable symbolTable)¶ Tries to improve dimension info contained in this ArrayTypeSpec by incorporating info from the given arrayAccessTree.
checkNoneDimensions¶
-
public ArrayDim[]
checkNoneDimensions
(ArrayDim[] origDimensions, boolean localDecl, boolean addMultiDirDim, ArrayDim multiDirDimensionMax, String hintArrayNameInText, String hintArrayNameInIdent, Tree hintTreeSize, Tree nameTree, SymbolTable targetSymbolTable, NewSymbolHolder symbolHolder)¶ Check the given array of array-dimensions “origDimensions” for problematic cases. When necessary, builds and returns a new array of array-dimensions that is better for the symbols that use these dimensions and for their declaration instruction. Also returns a new array of dimensions when there is a vector dimension appended. Modification cases: – orig dimension was “*” and we are targetting F90 so it must become “:” – orig dimension was unspecified and we are building the type of a local var. – orig dimension is known only at run-time so we can’t use it for declaration.
- Returns
the new array of array-dimensions, or none if the given array is fine.
collectUsedTrees¶
createDimensions¶
cumulActiveParts¶
-
protected void
cumulActiveParts
(TapList diffInfos, SymbolTable symbolTable)¶
differentiateTypeSpec¶
-
public WrapperTypeSpec
differentiateTypeSpec
(SymbolTable symbolTable, SymbolTable srcSymbolTable, int diffUnitSort, String fSuffix, boolean localDecl, boolean multiDirMode, ArrayDim multiDirDimensionMax, String hintArrayNameInText, String hintArrayNameInIdent, Tree hintArrayNameTree, Tree nameTree)¶
dimensions¶
doUpdateAfterImports¶
-
public void
doUpdateAfterImports
(SymbolTable symbolTable, TapList<TypeSpec> dejaVu)¶
elementType¶
-
public WrapperTypeSpec
elementType
()¶
generateTree¶
-
public Tree
generateTree
(SymbolTable symbolTable, TapList<SymbolDecl> dependsOn, TapList<SymbolDecl> shortNames, boolean useShortNames, TapList<TypeSpec> dejaVu)¶
intToReal¶
linearizeAllDim¶
localize¶
modifiedBaseTypeSpec¶
-
public WrapperTypeSpec
modifiedBaseTypeSpec
()¶
preciseDimensions¶
preciseSizeReferences¶
-
public void
preciseSizeReferences
(Tree refArrayTree, int newRefQuality)¶ Adds “size reference” info into this array type’s ArrayDim. For each dimension’s ArrayDim, inserts the info (if not already present with a better quality) that this dimension’s size is the size of the corresponding dimension of variable “referenceName”.
realToComplex¶
setDimensions¶
setElementType¶
-
public void
setElementType
(WrapperTypeSpec elementType)¶