IdentifierNode class

Represents a variable identifier reference in Balbismo.

An identifier node represents a reference to a variable by name. When evaluated, it looks up the variable in the symbol table and generates the appropriate LLVM IR to load the variable's value.

For regular variables, this generates a load instruction to get the value from memory. For arrays, it returns the array pointer directly since arrays are accessed via indexing operations.

Example Balbismo code:

int x = 5;
printf("%d", x);  // 'x' is an IdentifierNode

This generates LLVM IR like:

%var0 = load i64, ptr %ptr.x.0
Inheritance
Implementers

Constructors

IdentifierNode.new(String value)
Constructs an identifier node with the variable name.

Properties

children → List<Node>
Child nodes that form the structure of this node.
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
id ↔ int
Unique identifier for this node, used for LLVM register naming.
getter/setter pairinherited
nodeValue → String
The primary value associated with this node (varies by node type).
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

evaluate(SymbolTable table) → LangVal<LangType>
Evaluates the identifier by looking up and loading the variable's value.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited