Interface SizeableNode

All Superinterfaces:
ASTNode
All Known Subinterfaces:
AlignOfNode, ArrayLambdaNode, ArrayTypeNode, ArrowNode, AtomicTypeNode, BasicTypeNode, CastNode, CharacterConstantNode, CompoundLiteralNode, ConstantNode, DerivativeExpressionNode, DomainTypeNode, DotNode, EnumerationConstantNode, EnumerationTypeNode, ExpressionNode, ExtendedQuantifiedExpressionNode, FloatingConstantNode, FunctionCallNode, FunctionTypeNode, GenericSelectionNode, HereOrRootNode, IdentifierExpressionNode, IntegerConstantNode, LambdaNode, LambdaTypeNode, MPIContractAbsentEventNode, MPIContractAbsentNode, MPIContractConstantNode, MPIContractExpressionNode, NothingNode, ObjectOrRegionOfNode, OperatorNode, PointerTypeNode, ProcnullNode, QuantifiedExpressionNode, RegularRangeNode, RemoteOnExpressionNode, ResultNode, ScopeOfNode, SelfNode, SizeofNode, SpawnNode, StatementExpressionNode, StatenullNode, StringLiteralNode, StructureOrUnionTypeNode, TypedefNameNode, TypeNode, TypeofNode, ValueAtNode, WildcardNode

public interface SizeableNode extends ASTNode
An interface indicating that this object can be used as an argument to the C sizeof operator. I.e., this object is either an expression or a type.
See Also:
  • Method Details

    • getType

      Type getType()
      If this is a type node, returns the conceptual C type associated to the type node; if this is an expression node, returns the converted type associated to the expression.
      Returns:
      the C type defined by this node
    • copy

      SizeableNode copy()
      Description copied from interface: ASTNode
      Returns a deep copy of this AST node. The node and all of its descendants will be cloned. The cloning does not copy analysis or attribute information.
      Specified by:
      copy in interface ASTNode
      Returns:
      deep copy of this node