- NODE PROPERTIES:
â–¸ ArgumentIndex (Int); Cardinality one
(mandatory with default value -1
); AST-children of CALL nodes have an argument index, that is used to match call-site arguments with callee parameters. Explicit parameters are numbered from 1 to N, while index 0 is reserved for implicit self / this parameter. CALLs without implicit parameter therefore have arguments starting with index 1. AST-children of BLOCK nodes may have an argument index as well; in this case, the last argument index determines the return expression of a BLOCK expression. If the PARAMETER_NAME
field is set, then the ARGUMENT_INDEX
field is ignored. It is suggested to set it to -1.
â–¸ ArgumentName (String); Cardinality ZeroOrOne
(optional); For calls involving named parameters, the ARGUMENT_NAME
field holds the name of the parameter initialized by the expression. For all other calls, this field is unset.
â–¸ Code (String); Cardinality one
(mandatory with default value <empty>
); This field holds the code snippet that the node represents.
â–¸ ColumnNumber (Int); Cardinality ZeroOrOne
(optional); This optional fields provides the column number of the program construct represented by the node.
â–¸ ContainedRef (String); Cardinality one
(mandatory with default value <empty>
); References to other nodes. This is not a real property; it exists here for the sake of proto serialization only. valueType and cardinality are meaningless.
â–¸ DynamicTypeHintFullName (String); Cardinality List
(many); Type hint for the dynamic type. These are observed to be verifiable at runtime.
â–¸ LineNumber (Int); Cardinality ZeroOrOne
(optional); This optional field provides the line number of the program construct represented by the node.
â–¸ Offset (Int); Cardinality ZeroOrOne
(optional); Start offset into the CONTENT property of the corresponding FILE node. The offset is such that parts of the content can easily be accessed via content.substring(offset, offsetEnd)
. This means that the offset must be measured in utf16 encoding (i.e. neither in characters/codeunits nor in byte-offsets into a utf8 encoding). E.g. for METHOD nodes this start offset points to the start of the methods source code in the string holding the source code of the entire file.
â–¸ OffsetEnd (Int); Cardinality ZeroOrOne
(optional); End offset (exclusive) into the CONTENT property of the corresponding FILE node. See OFFSET documentation for finer details. E.g. for METHOD nodes this end offset points to the first code position which is not part of the method.
â–¸ Order (Int); Cardinality one
(mandatory with default value -1
); This integer indicates the position of the node among its siblings in the AST. The left-most child has an order of 0.
â–¸ ParserTypeName (String); Cardinality one
(mandatory with default value <empty>
); AST node type name emitted by parser.
â–¸ PossibleTypes (String); Cardinality List
(many); Similar to DYNAMIC_TYPE_HINT_FULL_NAME
, but that this makes no guarantee that types within this property are correct. This property is used to capture observations between node interactions during a 'may-analysis'.
â–¸ TypeFullName (String); Cardinality one
(mandatory with default value <empty>
); This field contains the fully-qualified static type name of the program construct represented by a node. It is the name of an instantiated type, e.g., java.util.List<Integer>
, rather than java.util.List[T]
. If the type cannot be determined, this field should be set to the empty string.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait Expressiontrait CfgNodetrait AstNodetrait UnknownBasetrait ExpressionBasetrait CfgNodeBasetrait AstNodeBaseclass StoredNodetrait AbstractNodetrait Producttrait Equalstrait StaticType[UnknownEMT]class GNodetrait DNodeOrNodeclass Objecttrait Matchableclass AnyShow all
Members list
Value members
Concrete methods
Attributes
- Definition Classes
-
Equals
Attributes
- Definition Classes
-
Product
Attributes
- Definition Classes
-
Product
Attributes
- Definition Classes
-
Product
Attributes
- Definition Classes
-
Product
Inherited methods
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- GNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Attributes
- Inherited from:
- StoredNode
Calculates a hash code value for the object.
Calculates a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
. However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals
method.
Attributes
- Returns
-
the hash code value for this object.
- Inherited from:
- GNode
Attributes
- Inherited from:
- GNode
Attributes
- Inherited from:
- GNode
Attributes
- Inherited from:
- Product
Attributes
- Inherited from:
- Product
Attributes
- Inherited from:
- AbstractNode
TODO deprecate and phase out
Attributes
- Inherited from:
- GNode
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
- Returns
-
a string representation of the object.
- Inherited from:
- GNode