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
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.
Type of the reference to be resolved
An identifier reference points to a variable like
a
inb <- a
. Without any surrounding code,a
will produce the identifier referencea
. Similarly,b
will create a reference (although it will be an identifier definition which adds even more information).In general, references are merely pointers (with meta-information) to a vertex in the DataflowGraph|dataflow graph. In the context of the extractor, for example, they indicate the references that are currently (during the analysis at this given node) DataflowInformation#in|read (
in
), DataflowInformation#out|written (out
), or DataflowInformation#unknownReferences|unknown (unknownReferences
).See
InGraphIdentifierDefinition