ArgumentList class

Represents a list of function call arguments in Balbismo.

An argument list contains the expressions that are passed as arguments to a function call. Each argument is evaluated and its value is passed to the function. The arguments are evaluated in order from left to right.

Example Balbismo code:

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

int main() {
  int result = add(5 + 1, 3 * 2);  // '5 + 1, 3 * 2' is an ArgumentList
  return result;
}

The argument expressions are evaluated and their results are passed to the function.

Inheritance

Constructors

ArgumentList.new(List<Node<dynamic, LangVal<LangType>>> children)
Constructs an argument list from argument expression nodes.

Properties

args List<Node<dynamic, LangVal<LangType>>>
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
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) List<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