Class ArrayType

    • Constructor Detail

      • ArrayType

        public ArrayType​(Type elementType,
                         SizeThunk sizeInBytes,
                         int length,
                         int cvAttributes)
      • ArrayType

        public ArrayType​(Type elementType,
                         SizeThunk sizeInBytes,
                         int length,
                         int cvAttributes,
                         ASTLocusTag astLocus)
    • Method Detail

      • hashCodeImpl

        protected int hashCodeImpl()
        Specified by:
        hashCodeImpl in class Type
      • equalsImpl

        protected boolean equalsImpl​(Type arg)
        Specified by:
        equalsImpl in class Type
      • isAnon

        public boolean isAnon()
        Overrides:
        isAnon in class Type
      • getName

        public String getName​(boolean includeCVAttrs)
        Description copied from class: Type
        Returns the name of this type, optionally including const/volatile attributes. The returned string is suitable for use as a type specifier for Java.
        Overrides:
        getName in class Type
      • asArray

        public final ArrayType asArray()
        Description copied from class: Type
        Casts this to an ArrayType or returns null if not an ArrayType.
        Overrides:
        asArray in class Type
      • getTargetType

        public final Type getTargetType()
        Description copied from class: Type
        Helper method to returns the target type of this type, in case another type is being referenced, i.e. returns `type` if this-type is `type*` or `type[]` and returns `type*` if this-type is `type**` or `type[][]`.

        If this is an array or pointer method returns the next target element type, otherwise `this`.

        In this is a Type.isFunctionPointer() type, `this` function PointerType is returned.

        Overrides:
        getTargetType in class Type
        See Also:
        Type.getBaseType(), Type.getTargetFunction()
      • getLength

        public int getLength()
      • hasLength

        public boolean hasLength()
      • getBaseType

        public final Type getBaseType()
        Description copied from class: Type
        Helper method to returns the bottom-most element type of this type, i.e. returns `type` if this-type is `type*`, `type**`, `type[]` or `type[][]`.

        If this is a multidimensional array or pointer method returns the bottom-most element type, otherwise this.

        In case a Type.isFunctionPointer() type is reached, traversing ends and the function PointerType is returned.

        Overrides:
        getBaseType in class Type
        See Also:
        Type.getTargetType(), Type.getTargetFunction()
      • arrayDimension

        public final int arrayDimension()
        Description copied from class: Type
        Helper method for determining how many array dimentions this type represents (i.e., "char[][]" returns 2). Returns 0 if this type is not an array type.
        Overrides:
        arrayDimension in class Type
      • toString

        public String toString()
        Description copied from class: Type
        Returns a string representation of this type. The returned string is suitable for use as a type specifier for native C. It does contain an expanded description of structs/unions, hence may not be suitable for type declarations.
        Overrides:
        toString in class Type
      • toString

        public String toString​(String variableName)
      • visit

        public void visit​(TypeVisitor arg)
        Description copied from class: Type
        Traverse this Type and all of its component types; for example, the return type and argument types of a FunctionType.
        Overrides:
        visit in class Type