ReturnStatement class
Represents a return statement in Balbismo.
A return statement terminates function execution and optionally returns
a value to the caller. The return value expression is evaluated and then
a ret
instruction is generated in LLVM IR.
Example Balbismo code:
int add(int x, int y) {
return x + y; // This is a ReturnStatement
}
void printHello() {
return; // This is a ReturnStatement with no value
}
Generates LLVM IR like:
ret i64 %result
Constructors
-
ReturnStatement.new(Node<
dynamic, LangVal< value)LangType> > - Constructs a return statement with an optional return value.
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 → void
-
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
-
value
→ Node<
dynamic, LangVal< LangType> > -
Gets the return value expression.
no setter
Methods
-
evaluate(
SymbolTable table) → void -
Evaluates the return statement by generating a
ret
instruction.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