Uses of Interface
dev.civl.abc.ast.node.IF.type.TypeNode
Packages that use TypeNode
Package
Description
Submodule ast.node defines every kind of
node in an AST.
The ast.node.declaration submodule defines nodes
and other object deadling with declarations in a program.
The ast.node.expression submodule defines AST nodes
for representing expressions in a program.
The ast.node.type submodule defines AST nodes
for representing type constructs in a program.
-
Uses of TypeNode in dev.civl.abc.ast.node.IF
Methods in dev.civl.abc.ast.node.IF that return TypeNodeModifier and TypeMethodDescriptionGenericAssociationNode.getTypeNode()NodeFactory.newMemTypeNode(Source source) Returns a new mem type node ("$mem").NodeFactory.newRangeTypeNode(Source source) Returns a new instance of range type node; this is the CIVL-C type$range.NodeFactory.newScopeTypeNode(Source source) Returns a new scope type node ("$scope").NodeFactory.newVoidTypeNode(Source source) Returns a new void type node.Methods in dev.civl.abc.ast.node.IF with parameters of type TypeNodeModifier and TypeMethodDescriptionNodeFactory.newAbstractFunctionDefinitionNode(Source source, IdentifierNode name, TypeNode type, SequenceNode<ContractNode> contract, int continuity, SequenceNode<PairNode<ExpressionNode, ExpressionNode>> intervals, StringLiteralNode attr) Creates a new CIVL abstract function definition.NodeFactory.newAlignOfNode(Source source, TypeNode type) Constructs a new "align-of" node.NodeFactory.newArrayLambdaNode(Source source, TypeNode type, SequenceNode<PairNode<SequenceNode<VariableDeclarationNode>, ExpressionNode>> boundVariableDeclarationList, ExpressionNode restriction, ExpressionNode expression) Constructs a new array lambda expression.NodeFactory.newArrayLambdaNode(Source source, TypeNode type, List<VariableDeclarationNode> boundVariableDeclarationList, ExpressionNode restriction, ExpressionNode expression) Constructs a new array lambda expression.NodeFactory.newArrayTypeNode(Source source, TypeNode elementType, ExpressionNode extent) Constructs and returns a new array type node.NodeFactory.newArrayTypeNode(Source source, TypeNode elementType, ExpressionNode extent, ExpressionNode startIndex) Constructs and returns a new array type node.NodeFactory.newAtomicTypeNode(Source source, TypeNode baseType) Constructs and returns a new atomic type node.NodeFactory.newCastNode(Source source, TypeNode type, ExpressionNode argument) Constructs a new cast node.NodeFactory.newCompoundLiteralNode(Source source, TypeNode typeNode, CompoundInitializerNode initializerList) Returns a new compound literal node.NodeFactory.newFieldDeclarationNode(Source source, IdentifierNode name, TypeNode type) Consructs a new field declaration node.NodeFactory.newFieldDeclarationNode(Source source, IdentifierNode name, TypeNode type, ExpressionNode bitFieldWidth) Consructs a new field declaration node which also includes a "bit width" argument.NodeFactory.newFunctionDeclarationNode(Source source, IdentifierNode name, TypeNode type, SequenceNode<ContractNode> contract) Creates a new function declaration with no body (so it is not a function "definition").NodeFactory.newFunctionTypeNode(Source source, TypeNode returnType, SequenceNode<VariableDeclarationNode> formals, boolean hasIdentifierList) Constructs and returns a new function type node.NodeFactory.newGenericAssociationNode(Source source, TypeNode typeLabel, ExpressionNode associatedExpression) Constructs a new generic association node which acts as a binding between a type node and an expression for the purposes of a generic selection nodeNodeFactory.newLambdaTypeNode(Source source, TypeNode freeVariableType, TypeNode lambdaFunctionType) NodeFactory.newPointerTypeNode(Source source, TypeNode referencedType) Constructs and returns a new pointer type node.NodeFactory.newTypedefDeclarationNode(Source source, IdentifierNode name, TypeNode type) Constructs a newtypedefdeclaration node.NodeFactory.newVariableDeclarationNode(Source source, IdentifierNode name, TypeNode type) Creates a new declaration of an "object" variable with no initializer.NodeFactory.newVariableDeclarationNode(Source source, IdentifierNode name, TypeNode type, InitializerNode initializer) Creates a new declaration for an "object" variable with an initializer. -
Uses of TypeNode in dev.civl.abc.ast.node.IF.declaration
Methods in dev.civl.abc.ast.node.IF.declaration that return TypeNodeModifier and TypeMethodDescriptionFieldDeclarationNode.getTypeNode()Returns the type of the field being declared.OrdinaryDeclarationNode.getTypeNode()The type of the thing being declared.TypedefDeclarationNode.getTypeNode()Returns the AST node for the type that is being associated to the typedef name.Methods in dev.civl.abc.ast.node.IF.declaration that return types with arguments of type TypeNodeModifier and TypeMethodDescriptionVariableDeclarationNode.typeAlignmentSpecifiers()An object declaration may contain any number of alignment specifiers.Methods in dev.civl.abc.ast.node.IF.declaration with parameters of type TypeNodeModifier and TypeMethodDescriptionvoidFieldDeclarationNode.setTypeNode(TypeNode type) Sets the type node child of this node.voidOrdinaryDeclarationNode.setTypeNode(TypeNode type) Sets the type node that will be returned byOrdinaryDeclarationNode.getTypeNode().voidTypedefDeclarationNode.setTypeNode(TypeNode type) Sets the type node child of this typedef declaration node.Method parameters in dev.civl.abc.ast.node.IF.declaration with type arguments of type TypeNodeModifier and TypeMethodDescriptionvoidVariableDeclarationNode.setTypeAlignmentSpecifiers(SequenceNode<TypeNode> specifiers) Sets the node that will be returned byVariableDeclarationNode.typeAlignmentSpecifiers(). -
Uses of TypeNode in dev.civl.abc.ast.node.IF.expression
Methods in dev.civl.abc.ast.node.IF.expression that return TypeNodeModifier and TypeMethodDescriptionAlignOfNode.getArgument()Gets node representing the argument of the_Alignofoperator.CastNode.getCastType()Returns the node representing the type name in the cast expressionCompoundLiteralNode.getTypeNode()Gets the type node for the type name placed in parentheses before the initializer list.ArrayLambdaNode.type()the type of this array lambdaMethods in dev.civl.abc.ast.node.IF.expression with parameters of type TypeNodeModifier and TypeMethodDescriptionvoidAlignOfNode.setArgument(TypeNode type) Sets the argument that will be returned byAlignOfNode.getArgument().voidCastNode.setCastType(TypeNode type) Sets the value that will be returned byCastNode.getCastType(). -
Uses of TypeNode in dev.civl.abc.ast.node.IF.type
Subinterfaces of TypeNode in dev.civl.abc.ast.node.IF.typeModifier and TypeInterfaceDescriptioninterfaceRepresents an array type.interfaceAn atomic type, specified by "_Atomic ( type-name )".interfaceinterfaceRepresents use of the CIVL-C domain type, either "$domain" alone, or one of the sub-types "$domain(n)" for some positive integer constant n.interfaceAn enumeration type.interfaceinterfaceATypeNoderepresenting a $lambda(free-var-type:func-type) typeinterfaceinterfaceinterfaceinterfaceGNU C language reference 6.6 Referring to a Type with typeof Another way to refer to the type of an expression is with typeof.Methods in dev.civl.abc.ast.node.IF.type that return TypeNodeModifier and TypeMethodDescriptionTypeNode.copy()LambdaTypeNode.freeVariableType()AtomicTypeNode.getBaseType()ArrayTypeNode.getElementType()The type of the elements.FunctionTypeNode.getReturnType()The return type of this function.TypeofNode.getTypeOperand()LambdaTypeNode.lambdaFunctionType()PointerTypeNode.referencedType()Methods in dev.civl.abc.ast.node.IF.type with parameters of type TypeNodeModifier and TypeMethodDescriptionvoidArrayTypeNode.setElementType(TypeNode elementType) voidFunctionTypeNode.setReturnType(TypeNode type)