StringLiteral class
Represents a string literal constant in Balbismo.
A string literal node represents a constant string value in the source code. When evaluated, it adds the string to the LLVM IR as a global constant and returns the LLVM global variable name for use in other operations.
Example Balbismo code:
printf("Hello World\n"); // '"Hello World\n"' is a StringLiteral
This generates LLVM IR like:
@str.0 = private constant [13 x i8] c"Hello World\0A\00"
The string is stored as a null-terminated byte array in LLVM IR.
Constructors
- StringLiteral.new(String value)
- Constructs a string literal with the string content.
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) → String -
Evaluates this AST node and generates corresponding LLVM IR code.
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