mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 23:04:08 +10:00
Resolved #45, Exports region removed
This commit is contained in:
@@ -1321,37 +1321,6 @@ static void importStmt(Parser* parser, ASTNode** nodeHandle) {
|
||||
freeLiteral(alias);
|
||||
}
|
||||
|
||||
static void exportStmt(Parser* parser, ASTNode** nodeHandle) {
|
||||
//read the identifier
|
||||
ASTNode* node = NULL;
|
||||
advance(parser);
|
||||
identifier(parser, &node);
|
||||
|
||||
if (node == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
Literal idn = copyLiteral(node->atomic.literal);
|
||||
freeASTNode(node);
|
||||
|
||||
Literal alias = TO_NULL_LITERAL;
|
||||
|
||||
if (match(parser, TOKEN_AS)) {
|
||||
ASTNode* node;
|
||||
advance(parser);
|
||||
identifier(parser, &node);
|
||||
alias = copyLiteral(node->atomic.literal);
|
||||
freeASTNode(node);
|
||||
}
|
||||
|
||||
emitASTNodeExport(nodeHandle, idn, alias);
|
||||
|
||||
consume(parser, TOKEN_SEMICOLON, "Expected ';' at end of export statement");
|
||||
|
||||
freeLiteral(idn);
|
||||
freeLiteral(alias);
|
||||
}
|
||||
|
||||
//precedence functions
|
||||
static void expressionStmt(Parser* parser, ASTNode** nodeHandle) {
|
||||
//BUGFIX: check for empty statements
|
||||
@@ -1431,12 +1400,6 @@ static void statement(Parser* parser, ASTNode** nodeHandle) {
|
||||
return;
|
||||
}
|
||||
|
||||
//export
|
||||
if (match(parser, TOKEN_EXPORT)) {
|
||||
exportStmt(parser, nodeHandle);
|
||||
return;
|
||||
}
|
||||
|
||||
//default
|
||||
expressionStmt(parser, nodeHandle);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user