TypeNode class
Represents a type specification in Balbismo.
A type node wraps a LangType instance and is used wherever a type specification is needed in the language, such as function return types, variable declarations, and parameter types.
This node doesn't generate any LLVM IR itself - it serves as a container for type information that's used by other nodes during evaluation.
Example Balbismo code:
int x = 5; // 'int' is represented by a TypeNode
float y = 3.14; // 'float' is represented by a TypeNode
Constructors
- TypeNode.new(LangType value)
- Constructs a type node with the specified language type.
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 → LangType
-
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) → void -
Evaluates this AST node and generates corresponding LLVM IR code.
inherited
-
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