Interface ObjectType

All Superinterfaces:
Type
All Known Subinterfaces:
ArithmeticType, ArrayType, AtomicType, DomainType, EnumerationType, FloatingType, IntegerType, LambdaType, MemType, PointerType, QualifiedObjectType, SignedIntegerType, SignedOrUnsignedIntegerType, StandardBasicType, StandardSignedIntegerType, StandardUnsignedIntegerType, StructureOrUnionType, UnqualifiedObjectType, UnsignedIntegerType

public interface ObjectType extends Type
A type of a Variable, also known as an "object" in C.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface edu.udel.cis.vsl.abc.ast.type.IF.Type

    Type.TypeKind
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Does this type have known constant size? An object type has "known constant size" iff it is not incomplete AND not a VLA (Variable Length Array) type.
    boolean
    Is this type "complete"?
    boolean
    Is this type or any sub-type of this type (recursively) const-qualified?

    Methods inherited from interface edu.udel.cis.vsl.abc.ast.type.IF.Type

    compatibleWith, equivalentTo, getId, isScalar, isVariablyModified, kind, print
  • Method Details

    • isComplete

      boolean isComplete()
      Is this type "complete"?
      Returns:
      true iff this type is complete.
    • hasKnownConstantSize

      boolean hasKnownConstantSize()
      Does this type have known constant size? An object type has "known constant size" iff it is not incomplete AND not a VLA (Variable Length Array) type.
      Returns:
      true iff this is an object type of known constant size
    • isConstantQualified

      boolean isConstantQualified()
      Is this type or any sub-type of this type (recursively) const-qualified?
      Returns: