FuncCall class

Represents a function call expression in Balbismo.

A function call invokes a previously declared function with the specified arguments. The function must be declared before it can be called, and the argument types must match the function's parameter types.

Example Balbismo code:

int add(int x, int y) {
  return x + y;
}

int main() {
  int result = add(5, 3);  // 'add(5, 3)' is a FuncCall
  return result;
}

This generates LLVM IR like:

%call.0 = call i64 @add(i64 %arg1, i64 %arg2)
Inheritance

Constructors

FuncCall.new(IdentifierNode identifier, ArgumentList args)
Constructs a function call with the function name and arguments.

Properties

args → ArgumentList
no setter
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
identifier → IdentifierNode
no setter
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

Methods

evaluate(SymbolTable table) → LangVal<LangType>
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