- All Implemented Interfaces:
Serializable,Comparable<ASTNode.NodeKind>,Constable
- Enclosing interface:
ASTNode
The different kind of AST nodes. Every AST node falls into one of the
following categories.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionAn array designator occurs in a compound initializer and specifies an index of an array.A node representing a CIVL-C collective assertion.A node representing a contract item.A list of declarations; such a list can occur as an initializer in aforloop, for example.A designation, which can occur in a compound initializer.An enumerator declaration node represents the declaration of a single enumerator constant inside a completeenumdefinition.A node representing an expression.A single field declaration within astructoruniondefinition.A field designator can occur in a designation, which can occur in a compound initializer.A function declaration which is not a function definition, i.e., which does not include the function body.A function definition: this is the declaration of the function that includes the function body.A generic association node.An identifier node.A node representing an OpenMP construct.A node representing a reduction operator in an OpenMPreductionclause.A node representing a label in a labeled statement.A pragma node, corresponding to a#pragmadirective in the source code.A "result"" node represents a use of the special variable$resultin a post-condition in a CIVL-C procedure contract.A CIVL-C scope-parameterized declaration.A node which implement the interfaceSequenceNodeinvalid input: '<' T >.A node representing a statement.A node representing a C11 static assertion.A switch label is either a label of the formcase CONSTANT:ordefault :in aswitchstatement.A type node, representing any kind of type.A typedef node, representing atypedefconstruct in the program.A variable declaration node. -
Method Summary
Modifier and TypeMethodDescriptionstatic ASTNode.NodeKindReturns the enum constant of this class with the specified name.static ASTNode.NodeKind[]values()Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class java.lang.Enum
compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Enum Constant Details
-
ARRAY_DESIGNATOR
An array designator occurs in a compound initializer and specifies an index of an array. A node of this kind can be safely cast toArrayDesignatorNode. -
COLLECTIVE
A node representing a CIVL-C collective assertion. Not yet implemented. -
CONTRACT
A node representing a contract item. A node of this kind can be safely cast toContractNode. -
DEPENDS_EVENT
-
DECLARATION_LIST
A list of declarations; such a list can occur as an initializer in aforloop, for example. A node of this kind can be safely cast toDeclarationListNode. -
DESIGNATION
A designation, which can occur in a compound initializer. A designation consists of a sequence of array or field designators to pinpoint a location within a compound structure. A node of this kind can be safely cast toDesignationNode. -
ENUMERATOR_DECLARATION
An enumerator declaration node represents the declaration of a single enumerator constant inside a completeenumdefinition. A node of this kind can be safely cast toEnumeratorDeclarationNode. -
EXPRESSION
A node representing an expression. A node of this kind can be safely cast toExpressionNode. -
FIELD_DECLARATION
A single field declaration within astructoruniondefinition. A node of this kind can be safely cast toFieldDeclarationNode. -
FIELD_DESIGNATOR
A field designator can occur in a designation, which can occur in a compound initializer. It identifies a particular field in a structure or union. A node of this kind can be safely cast toFieldDesignatorNode. -
FUNCTION_DECLARATION
A function declaration which is not a function definition, i.e., which does not include the function body. A node of this kind can be safely cast toFunctionDeclarationNode. -
FUNCTION_DEFINITION
A function definition: this is the declaration of the function that includes the function body. A node of this kind may be safely cast toFunctionDefinitionNode. -
GENERIC_ASSOCIATION
A generic association node. Represents an association (TypeNode, ExpressionNode) for use in aGenericSelectionNode. A node of this kind may be safely cast toGenericAssociationNode -
IDENTIFIER
An identifier node. Represents an occurrence of an identifier in the program. A node of this kind may be safely cast toIdentifierNode. -
OMP_NODE
A node representing an OpenMP construct. May be safely cast toOmpNode. -
OMP_REDUCTION_OPERATOR
A node representing a reduction operator in an OpenMPreductionclause. May be safely cast toOmpReductionNode. -
ORDINARY_LABEL
A node representing a label in a labeled statement. (Does not include acaseordefaultlabel.) May be safely cast toOrdinaryLabelNode. -
PAIR
-
PRAGMA
A pragma node, corresponding to a#pragmadirective in the source code. May be safely cast toPragmaNode. -
RESULT
A "result"" node represents a use of the special variable$resultin a post-condition in a CIVL-C procedure contract. It represents the value returned by the procedure. May be safely cast toResultNode. -
SCOPE_PARAMETERIZED_DECLARATION
A CIVL-C scope-parameterized declaration. This is soon to be deprecated. -
SEQUENCE
A node which implement the interfaceSequenceNodeinvalid input: '<' T >. This is a node whose children all have typeT, whereTis a subtype ofASTNode. -
STATEMENT
A node representing a statement. May be safely cast toStatementNode. -
STATIC_ASSERTION
A node representing a C11 static assertion. This is a kind of assertion which can be checked at "compile time". A node of this kind may be safely cast toStaticAssertionNode. -
SWITCH_LABEL
A switch label is either a label of the formcase CONSTANT:ordefault :in aswitchstatement. A node of this kind may be safely cast toSwitchLabelNode. -
TYPE
A type node, representing any kind of type. A node of this kind may be safely cast toTypeNode. -
TYPEDEF
A typedef node, representing atypedefconstruct in the program. A node of this kind may be safely cast toTypedefDeclarationNode. -
VARIABLE_DECLARATION
A variable declaration node. A node of this kind can be safely cast toVariableDeclarationNode.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-