public class Xtype
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Xtype.TypeInfo |
Constructor and Description |
---|
Xtype(int kind) |
Xtype(int kind,
java.lang.String id,
long typeQualFlags,
Xobject gccAttrs) |
Xtype(int kind,
java.lang.String id,
long typeQualFlags,
Xobject gccAttrs,
Ident tag) |
Xtype(int kind,
java.lang.String id,
long typeQualFlags,
Xobject gccAttrs,
Ident tag,
Xobject[] codimensions) |
Xtype(int kind,
java.lang.String id,
long typeQualFlags,
Xobject gccAttrs,
Xobject[] codimensions) |
Modifier and Type | Method and Description |
---|---|
static ArrayType |
Array(Xtype ref,
long size)
C: create array type
|
static ArrayType |
Array(Xtype ref,
Xobject sizeExpr)
C: create array type
|
void |
assign(Xtype op2) |
void |
convertFindexRange(boolean extendsLowerBound,
boolean extendsUpperBound,
Block b)
Fortran: convert Fortran array size
|
void |
convertToAssumedShape()
Fortran: convert Fortran array size
|
Xtype |
copy()
create copy
|
protected Xtype |
copy(java.lang.String id)
create copy
|
Xobject[] |
copyCodimensions() |
boolean |
equals(Xtype t)
return is equals specified type
|
static FarrayType |
Farray(Xtype ref,
Xobject... sizeExprs)
Fortran: create array type
|
static FunctionType |
Function(Xtype ref)
create function type
|
void |
generateId()
generate type ID and set it to self
|
Xobject |
getArrayAdjSize()
Deprecated.
|
long |
getArrayDim()
Deprecated.
|
Xtype |
getArrayElementType()
get array element type
|
long |
getArraySize()
C: get fixed array size.
|
Xobject |
getArraySizeExpr()
C: get variable array size expression
|
Xtype |
getBaseRefType()
get copy source
|
int |
getBasicType()
get basic type kind (BasicType.*)
|
java.lang.String |
getBind()
Fortran : return if is qualified by 'bind' in pointer decl
|
java.lang.String |
getBindName()
Fortran : return if is qualified by 'bind_name' in pointer decl
|
Xobject[] |
getCodimensions() |
int |
getCorank() |
int |
getElementLength(Block block)
Fortran: get Fortran type element length (bytes) in integer
|
Xobject |
getElementLengthExpr(Block block)
Fortran: get Fortran type element length (bytes) in Expr
|
Xobject[] |
getFarraySizeExpr()
Fortarn: get Fortran array size expressions
|
Xobject |
getFkind()
Fortran: get kind parameter
|
Xobject |
getFlen()
Fortran: get len parameter
|
XobjList |
getFTypeParamValues() |
Xobject |
getFuncParam()
get function parameters
|
java.lang.String |
getFuncResultName()
Fortran: get function result name
|
Xobject |
getGccAttributes()
get GCC attributes
|
int |
getKind()
get kind constant (BASIC, STRUCT, UNION, ...)
|
static java.lang.String |
getKindName(int kind)
get name represents type kind
|
XobjList |
getMemberList()
get composite type member list
|
Xtype |
getMemberType(java.lang.String member)
get type of member which has specified name
|
XobjList |
getMoeList()
Deprecated.
|
int |
getNumDimensions()
get number of array dimensions
|
Xtype |
getOriginal()
get original reference
|
java.lang.String |
getPass()
Fortran: get procedure pointer pass attribute
|
java.lang.String |
getPassArgName()
Fortran: get procedure pointer pass arg name attribute
|
XobjList |
getProcList()
get composite type proc list
|
Xtype |
getRef()
set get type
|
Ident |
getTagIdent()
Fortran: get type name identifier
|
java.lang.String |
getTagName() |
Xobject |
getTotalArraySizeExpr(Block block)
Fortran: get Fortran array size or 1 for scalar
|
long |
getTypeQualFlags()
get type qualifier flags (TQ_*).
|
java.lang.String |
getXcodeCId()
return type id for XcodeML/C
|
java.lang.String |
getXcodeFId()
return type id for XcodeML/F
|
void |
hideCodimensions() |
java.lang.String |
Id()
return type id
|
Xtype |
inherit(java.lang.String id)
create copy.
|
boolean |
isArray()
C: return if is array
|
boolean |
isArrayStatic()
return if is qualified by 'static' in array specifier
|
boolean |
isBasic()
return if is basic type
|
boolean |
isBool()
return if is bool type
|
boolean |
isCoarray() |
boolean |
isComplexOrImaginary()
return if is complex or imaginary type
|
boolean |
isConst()
return if is qualified by 'const'
|
boolean |
isEnum()
C: return if is enum
|
boolean |
isExtended()
Fortran: return if the type extends parent type
|
boolean |
isFabstract()
Fortran : return if is abstract
|
boolean |
isFallocatable()
Fortran : return if is qualified by 'allocatable'
|
boolean |
isFarray()
Fortran: return if is array
|
boolean |
isFassumedShape()
Fortran: return if is assumed shape array
|
boolean |
isFassumedSize()
Fortran: return if is assumed size array
|
boolean |
isFasynchronous()
Fortran : return if is asynchronous
|
boolean |
isFcharacter()
C: return if is union
|
boolean |
isFclass()
Fortran : return if is qualified by 'class' in pointer decl
|
boolean |
isFcontiguous()
Fortran : return if is contiguous
|
boolean |
isFcrayPointer()
Fortran : return if it is a cray pointer (ID=060c)
|
boolean |
isFdeferred()
Fortran : return if is dererred
|
boolean |
isFelemental()
Fortran : return if is qualified by 'elemental'
|
boolean |
isFexternal()
Fortran : return if is qualified by 'external'
|
boolean |
isFfixedShape()
Fortran: return if is fixed size array
|
boolean |
isFimpure()
Fortran : return if is qualified by 'impure'
|
boolean |
isFintentIN()
Fortran : return if is qualified by 'intent(in)'
|
boolean |
isFintentINOUT()
Fortran : return if is qualified by 'intent(inout)'
|
boolean |
isFintentOUT()
Fortran : return if is qualified by 'intent(out)'
|
boolean |
isFinternal()
Fortran : return if is qualified by 'internal'
|
boolean |
isFinternalPrivate()
Fortran : return if is qualified by 'private' in structure decl
|
boolean |
isFintrinsic()
Fortran : return if is qualified by 'intrinsic'
|
boolean |
isFlenAssumedShape()
Fortran: return if len parameter is variable value
|
boolean |
isFlenAssumedSize()
Fortran: return if len parameter is variable value
|
boolean |
isFlenVariable()
Fortran: return if len parameter is variable value
|
boolean |
isFloating()
return if is float type
|
boolean |
isFmodule()
Fortran : return if is qualified by 'module' in subroutine/function decl
|
boolean |
isFoptional()
Fortran : return if is qualified by 'optional'
|
boolean |
isFparameter()
Fortran : return if is qualified by 'parameter'
|
boolean |
isFpointer()
Fortran : return if is qualified by 'pointer'
|
boolean |
isFprivate()
Fortran : return if is qualified by 'private'
|
boolean |
isFprocedure()
Fortran : return if is 'procedure' decl
|
boolean |
isFprogram()
Fortran : return if is qualified by 'program'
|
boolean |
isFprotected()
Fortran : return if is qualified by 'protected'
|
boolean |
isFpublic()
Fortran : return if is qualified by 'public'
|
boolean |
isFpure()
Fortran : return if is qualified by 'pure'
|
boolean |
isFrecursive()
Fortran : return if is qualified by 'recursive'
|
boolean |
isFsave()
Fortran : return if is qualified by 'save'
|
boolean |
isFsequence()
Fortran : return if is qualified by 'sequence'
|
boolean |
isFsubroutine()
Fortran: return if is subroutine
|
boolean |
isFtarget()
Fortran : return if is qualified by 'target'
|
boolean |
isFuncProto()
return if is function prototype
|
boolean |
isFuncStatic()
return if is qualified by 'static' at function definition
|
boolean |
isFunction()
return if is function
|
boolean |
isFvalue()
Fortran : return if is qualified by 'value' in pointer decl
|
boolean |
isFvolatile()
Fortran : return if it is volatile
|
boolean |
isGlobal()
return if is qualified by '__global' (OpenCL)
|
boolean |
isInline()
return if is qualified by 'inline'
|
boolean |
isIntegral()
return if is integral type
|
boolean |
isNoArraySize()
C: return if is not set array size
|
boolean |
isNumeric()
return if is numeric type
|
boolean |
isPointer()
C: return if is pointer
|
boolean |
isQualified()
return if is qualifed by qualifier,
gcc attribute, Fortran kind parameter or Fortran len parameter
|
boolean |
isRestrict()
return if is qualified by 'restrict'
|
boolean |
isStruct()
return if is struct/type
|
boolean |
isUnion()
C: return if is union
|
boolean |
isUnsigned()
C: return if is unsigned type
|
boolean |
isVariableArray()
C: return if is variable array size
|
boolean |
isVoid()
return if is void type
|
boolean |
isVolatile()
return if is qualified by 'volatile'
|
static Xtype |
Pointer(Xtype ref)
C: create pointer type.
|
static Xtype |
Pointer(Xtype ref,
XobjectFile objFile)
C: create pointer type and add to type table.
|
void |
removeCodimensions() |
void |
setBind(java.lang.String value)
Fortran : set qualifier 'bind' in pointer decl
|
void |
setBindName(java.lang.String value)
Fortran : set qualifier 'bind_name' in pointer decl
|
void |
setCodimensions(Xobject[] codimensions) |
void |
setFTypeParamValues(XobjList params) |
void |
setFuncResultName(java.lang.String fresult_name)
Fortran: set function result name
|
void |
setGccAttributes(Xobject gccAttrs)
set GCC attributes
|
void |
setIsArrayStatic(boolean enabled)
set qualifier 'static' in array specifier
|
void |
setIsCoarray(boolean is_coarray) |
void |
setIsConst(boolean enabled)
set qualifier 'const'
|
void |
setIsFabstract(boolean enabled)
Fortran : set attribute 'is_abstract'
|
void |
setIsFallocatable(boolean enabled)
Fortran : set qualifier 'allocatable'
|
void |
setIsFasynchronous(boolean enabled)
Fortran : set attribute 'is_asynchronous'
|
void |
setIsFclass(boolean enabled)
Fortran : set qualifier 'class' in pointer decl
|
void |
setIsFcontiguous(boolean enabled)
Fortran : set attribute 'is_contiguous'
|
void |
setIsFcrayPointer(boolean enabled)
Fortran : set qualifier 'cray pointer' (ID=060c)
|
void |
setIsFdeferred(boolean enabled)
Fortran : set attribute 'is_deferred'
|
void |
setIsFelemental(boolean enabled)
Fortran : set qualifier 'elemental'
|
void |
setIsFexternal(boolean enabled)
Fortran : set qualifier 'external'
|
void |
setIsFimpure(boolean enabled)
Fortran : set qualifier 'impure'
|
void |
setIsFintentIN(boolean enabled)
Fortran : set qualifier 'intent(in)'
|
void |
setIsFintentINOUT(boolean enabled)
Fortran : set qualifier 'intent(inout)'
|
void |
setIsFintentOUT(boolean enabled)
Fortran : set qualifier 'intent(out)'
|
void |
setIsFinternal(boolean enabled)
Fortran : set qualifier 'internal'
|
void |
setIsFinternalPrivate(boolean enabled)
Fortran : set qualifier 'private' in structure decl
|
void |
setIsFintrinsic(boolean enabled)
Fortran : set qualifier 'intrinsic'
|
void |
setIsFmodule(boolean enabled)
Fortran : set qualifier 'module' in subroutine/function decl
|
void |
setIsFoptional(boolean enabled)
Fortran : set qualifier 'optional'
|
void |
setIsFparameter(boolean enabled)
Fortran : set qualifier 'parameter'
|
void |
setIsFpointer(boolean enabled)
Fortran : set qualifier 'pointer'
|
void |
setIsFprivate(boolean enabled)
Fortran : set qualifier 'private'
|
void |
setIsFprocedure(boolean enabled)
Fortran : set attribute 'is_procedure'
|
void |
setIsFprogram(boolean enabled)
Fortran : set qualifier 'program'
|
void |
setIsFprotected(boolean enabled)
Fortran : set qualifier 'protected'
|
void |
setIsFpublic(boolean enabled)
Fortran : set qualifier 'public'
|
void |
setIsFpure(boolean enabled)
Fortran : set qualifier 'pure'
|
void |
setIsFrecursive(boolean enabled)
Fortran : set qualifier 'recursive'
|
void |
setIsFsave(boolean enabled)
Fortran : set qualifier 'save'
|
void |
setIsFsequence(boolean enabled)
Fortran : set qualifier 'sequence'
|
void |
setIsFtarget(boolean enabled)
Fortran : set qualifier 'target'
|
void |
setIsFuncStatic(boolean enabled)
set qualifier 'static' at function definition
|
void |
setIsFvalue(boolean enabled)
Fortran : set qualifier 'value' in pointer decl
|
void |
setIsGlobal(boolean enabled)
set qualifier '__global' (OpenCL)
|
void |
setIsInline(boolean enabled)
set qualifier 'inline'
|
void |
setIsRestrict(boolean enabled)
set qualifier 'restirct'
|
void |
setIsVoaltile(boolean enabled)
set qualifier 'volatile'
|
void |
setKind(int kind)
set kind constant (BASIC, STRUCT, UNION, ...)
|
void |
setPass(java.lang.String pass)
Fortran: get procedure pointer pass attribute
|
void |
setPassArgName(java.lang.String pass_arg_name)
Fortran: get procedure pointer pass arg name attribute
|
void |
setRef(Xtype ref)
set reference type
|
void |
setTagIdent(Ident tag)
Fortran: set type name identifier
|
void |
setTypeQualFlags(long flags)
set type qualifier flags (TQ_*).
|
java.lang.String |
toString() |
void |
unsetIsFsave()
Fortran: unset save attribute
|
void |
unsetIsFtarget()
Fortran: unset target attribute
|
static Xtype |
VoidPtrOrFuintPtr()
C: create void pointer type.
|
boolean |
wasCoarray() |
public static final int UNDEF
public static final int BASIC
public static final int ENUM
public static final int STRUCT
public static final int UNION
public static final int FUNCTION
public static final int ARRAY
public static final int POINTER
public static final int F_ARRAY
public static final int XMP_CO_ARRAY
public static final int F_COARRAY
public static final long TQ_CONST
public static final long TQ_VOLATILE
public static final long TQ_RESTRICT
public static final long TQ_INLINE
public static final long TQ_ARRAY_STATIC
public static final long TQ_FUNC_STATIC
public static final long TQ_FPUBLIC
public static final long TQ_FPRIVATE
public static final long TQ_FPROTECTED
public static final long TQ_FPOINTER
public static final long TQ_FOPTIONAL
public static final long TQ_FTARGET
public static final long TQ_FSAVE
public static final long TQ_FPARAMETER
public static final long TQ_FALLOCATABLE
public static final long TQ_FINTENT_IN
public static final long TQ_FINTENT_OUT
public static final long TQ_FINTENT_INOUT
public static final long TQ_FPROGRAM
public static final long TQ_FINTRINSIC
public static final long TQ_FELEMENTAL
public static final long TQ_FIMPURE
public static final long TQ_FPURE
public static final long TQ_FRECURSIVE
public static final long TQ_FINTERNAL
public static final long TQ_FEXTERNAL
public static final long TQ_FSEQUENCE
public static final long TQ_FINTERNAL_PRIVATE
public static final long TQ_FCRAY_POINTER
public static final long TQ_FVOLATILE
public static final long TQ_FCLASS
public static final long TQ_FVALUE
public static final long TQ_FMODULE
public static final long TQ_FPROCEDURE
public static final long TQ_FCONTIGUOUS
public static final long TQ_FASYNCHRONOUS
public static final long TQ_FABSTRACT
public static final long TQ_FDEFERRED
public static final long TQ_GLOBAL
public static final long TQ_LOCAL
public Xtype copied
protected Ident tag
protected boolean is_coarray
protected Coshape coshape
protected XobjList fTypeParamValues
protected java.lang.String bind
protected java.lang.String bind_name
public static final BasicType voidType
public static final Xtype voidPtrType
public static final BasicType charType
public static final BasicType shortType
public static final BasicType intType
public static final BasicType longType
public static final BasicType longlongType
public static final BasicType unsignedcharType
public static final BasicType unsignedshortType
public static final BasicType unsignedType
public static final BasicType unsignedlongType
public static final BasicType unsignedlonglongType
public static final BasicType floatType
public static final BasicType doubleType
public static final BasicType longdoubleType
public static final BasicType boolType
public static final BasicType gccBuiltinVaListType
public static final BasicType floatComplexType
public static final BasicType doubleComplexType
public static final BasicType longDoubleComplexType
public static final BasicType FintType
public static final BasicType Fint4Type
public static final BasicType Fint8Type
public static final BasicType FcharacterType
public static final BasicType FcharacterWithLenType
public static final BasicType FlogicalType
public static final BasicType FrealType
public static final BasicType FcomplexType
public static final BasicType FnumericType
public static final BasicType FnumericAllType
public static final BasicType FvoidType
public static final FunctionType FsubroutineType
public static final FunctionType FintFunctionType
public static final FunctionType FlogicalFunctionType
public static final FunctionType FexternalSubroutineType
public static final FunctionType FexternalLogicalFunctionType
public static final FunctionType FexternalIntFunctionType
public static final FunctionType FnumericalAllFunctionType
public static final Xtype stringType
public static final Xtype FuintPtrType
public static final Xtype indvarType
public static final Xtype indvarPtrType
protected static final Xtype.TypeInfo[] type_infos
public Xtype(int kind, java.lang.String id, long typeQualFlags, Xobject gccAttrs, Ident tag, Xobject[] codimensions)
public Xtype(int kind, java.lang.String id, long typeQualFlags, Xobject gccAttrs, Xobject[] codimensions)
public Xtype(int kind, java.lang.String id, long typeQualFlags, Xobject gccAttrs)
public Xtype(int kind)
public void assign(Xtype op2)
public final boolean isQualified()
public final java.lang.String Id()
public final java.lang.String getXcodeCId()
public final java.lang.String getXcodeFId()
public final void setKind(int kind)
public final int getKind()
public final long getTypeQualFlags()
public final void setTypeQualFlags(long flags)
public final boolean isConst()
public final void setIsConst(boolean enabled)
public final boolean isVolatile()
public final void setIsVoaltile(boolean enabled)
public final boolean isRestrict()
public final void setIsRestrict(boolean enabled)
public final boolean isInline()
public final void setIsInline(boolean enabled)
public final boolean isArrayStatic()
public final void setIsArrayStatic(boolean enabled)
public final boolean isFuncStatic()
public final void setIsFuncStatic(boolean enabled)
public final boolean isFpublic()
public final void setIsFpublic(boolean enabled)
public final boolean isFprivate()
public final void setIsFprivate(boolean enabled)
public final boolean isFprotected()
public final void setIsFprotected(boolean enabled)
public final boolean isFpointer()
public final void setIsFpointer(boolean enabled)
public final boolean isFoptional()
public final void setIsFoptional(boolean enabled)
public final boolean isFtarget()
public final void setIsFtarget(boolean enabled)
public final boolean isFsave()
public final void setIsFsave(boolean enabled)
public final boolean isFparameter()
public final void setIsFparameter(boolean enabled)
public final boolean isFallocatable()
public final void setIsFallocatable(boolean enabled)
public final boolean isFcrayPointer()
public final boolean isFvolatile()
public final void setIsFcrayPointer(boolean enabled)
public final boolean isFintentIN()
public final void setIsFintentIN(boolean enabled)
public final boolean isFintentOUT()
public final void setIsFintentOUT(boolean enabled)
public final boolean isFintentINOUT()
public final void setIsFintentINOUT(boolean enabled)
public final boolean isFprogram()
public final void setIsFprogram(boolean enabled)
public final boolean isFintrinsic()
public final void setIsFintrinsic(boolean enabled)
public final boolean isFelemental()
public final void setIsFelemental(boolean enabled)
public final boolean isFimpure()
public final void setIsFimpure(boolean enabled)
public final boolean isFpure()
public final void setIsFpure(boolean enabled)
public final boolean isFrecursive()
public final void setIsFrecursive(boolean enabled)
public final boolean isFinternal()
public final void setIsFinternal(boolean enabled)
public final boolean isFexternal()
public final void setIsFexternal(boolean enabled)
public final boolean isFsequence()
public final void setIsFsequence(boolean enabled)
public final boolean isFinternalPrivate()
public final void setIsFinternalPrivate(boolean enabled)
public final boolean isFclass()
public final void setIsFclass(boolean enabled)
public final boolean isFvalue()
public final void setIsFvalue(boolean enabled)
public final boolean isFmodule()
public final void setIsFmodule(boolean enabled)
public final boolean isFprocedure()
public final void setIsFprocedure(boolean enabled)
public final boolean isFcontiguous()
public final void setIsFcontiguous(boolean enabled)
public final boolean isFasynchronous()
public final void setIsFasynchronous(boolean enabled)
public final boolean isFabstract()
public final void setIsFabstract(boolean enabled)
public final boolean isFdeferred()
public final void setIsFdeferred(boolean enabled)
public final boolean isGlobal()
public final void setIsGlobal(boolean enabled)
public final java.lang.String getBind()
public final java.lang.String getBindName()
public final void setBind(java.lang.String value)
public final void setBindName(java.lang.String value)
public int getBasicType()
public void setRef(Xtype ref)
public Xtype getRef()
public boolean isFuncProto()
public Xobject getFuncParam()
public java.lang.String getFuncResultName()
public void setFuncResultName(java.lang.String fresult_name)
@Deprecated public final long getArrayDim()
public long getArraySize()
public boolean isNoArraySize()
public boolean isVariableArray()
@Deprecated public final Xobject getArrayAdjSize()
public Xobject getArraySizeExpr()
public Xobject[] getFarraySizeExpr()
public Xobject getTotalArraySizeExpr(Block block)
public Xobject getElementLengthExpr(Block block)
public int getElementLength(Block block)
public boolean isFassumedSize()
public boolean isFassumedShape()
public boolean isFfixedShape()
public void convertFindexRange(boolean extendsLowerBound, boolean extendsUpperBound, Block b)
public void convertToAssumedShape()
public int getNumDimensions()
public Xtype getArrayElementType()
public int getCorank()
public boolean isCoarray()
public void setIsCoarray(boolean is_coarray)
public boolean wasCoarray()
public Xobject[] getCodimensions()
public void setCodimensions(Xobject[] codimensions)
public void setFTypeParamValues(XobjList params)
public XobjList getFTypeParamValues()
public void removeCodimensions()
public void hideCodimensions()
public Xobject[] copyCodimensions()
@Deprecated public XobjList getMoeList()
public XobjList getMemberList()
public XobjList getProcList()
public Xtype getMemberType(java.lang.String member)
public final Xtype copy()
protected Xtype copy(java.lang.String id)
public Xtype inherit(java.lang.String id)
public final boolean isFunction()
public final boolean isFsubroutine()
public final boolean isPointer()
public final boolean isBasic()
public final boolean isArray()
public final boolean isFarray()
public final boolean isStruct()
public final boolean isUnion()
public final boolean isEnum()
public final boolean isFcharacter()
public boolean isUnsigned()
public boolean isIntegral()
public boolean isBool()
public boolean isFloating()
public boolean isComplexOrImaginary()
public boolean isNumeric()
public boolean isVoid()
public Xobject getFkind()
public Xobject getFlen()
public java.lang.String getPass()
public void setPass(java.lang.String pass)
public java.lang.String getPassArgName()
public void setPassArgName(java.lang.String pass_arg_name)
public boolean isFlenVariable()
public boolean isFlenAssumedShape()
public boolean isFlenAssumedSize()
public boolean isExtended()
public final boolean equals(Xtype t)
public java.lang.String toString()
toString
in class java.lang.Object
public static Xtype VoidPtrOrFuintPtr()
public static Xtype Pointer(Xtype ref, XobjectFile objFile)
public static FunctionType Function(Xtype ref)
public static FarrayType Farray(Xtype ref, Xobject... sizeExprs)
public void generateId()
public Xobject getGccAttributes()
public void setGccAttributes(Xobject gccAttrs)
public static java.lang.String getKindName(int kind)
public void unsetIsFsave()
public void unsetIsFtarget()
public Xtype getBaseRefType()
public Xtype getOriginal()
public void setTagIdent(Ident tag)
public Ident getTagIdent()
public java.lang.String getTagName()