If the reference is only effective, if, for example, an if-then-else condition is true, this references the root of the if
.
As a hacky intermediate solution (until we have pointer-analysis), an empty array may indicate a maybe
which is due to pointer access (e.g., in a[x] <- 3
).
Readonly
definedThe assignment node which ultimately defined this identifier
(the arrow operator for e.g. x <- 3
, or assign
call in assign("x", 3)
)
Optional
indicesthis attribute links a definition to indices (pointer links) it may be affected by or related to
Readonly
nameName the reference is identified by (e.g., the name of the variable), undefined if the reference is "artificial" (e.g., anonymous)
Readonly
nodeThe id of the node which represents the reference in the NormalizedAst|normalized AST and the DataflowGraph|dataflow graph.
Readonly
typeType of the reference to be resolved
Optional
Readonly
value
The definition of an identifier within the DataflowGraph|graph. This extends on the IdentifierReference by adding the NodeId of the definition (and using
type
to mark the object type).Within a code snippet like
a <- 3
, the symbol processor will first create an identifier reference fora
to reference the use and then promote it to an identifier definition.See
IdentifierReference