mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 23:04:08 +10:00
Function calls, with args and single returns are working
This commit is contained in:
@@ -76,6 +76,10 @@ void freeNode(Node* node) {
|
||||
FREE_ARRAY(Node, node->fnCollection.nodes, node->fnCollection.capacity);
|
||||
break;
|
||||
|
||||
case NODE_FN_CALL:
|
||||
freeNode(node->fnCall.arguments);
|
||||
break;
|
||||
|
||||
case NODE_PATH_IF:
|
||||
case NODE_PATH_WHILE:
|
||||
case NODE_PATH_FOR:
|
||||
@@ -198,6 +202,15 @@ void emitNodeFnDecl(Node** nodeHandle, Literal identifier, Node* arguments, Node
|
||||
*nodeHandle = tmp;
|
||||
}
|
||||
|
||||
void emitFnCall(Node** nodeHandle, Node* arguments) {
|
||||
Node* tmp = ALLOCATE(Node, 1);
|
||||
|
||||
tmp->type = NODE_FN_CALL;
|
||||
tmp->fnCall.arguments = arguments;
|
||||
|
||||
*nodeHandle = tmp;
|
||||
}
|
||||
|
||||
void emitNodeFnCollection(Node** nodeHandle) {
|
||||
Node* tmp = ALLOCATE(Node, 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user