Printing di's proprly
This commit is contained in:
@@ -88,6 +88,7 @@ core_type_to_string(Ast_Type *type) {
|
|||||||
|
|
||||||
void core__stringify(Ast *ast) {
|
void core__stringify(Ast *ast) {
|
||||||
if (!ast) return;
|
if (!ast) return;
|
||||||
|
gen("@%u", ast->di);
|
||||||
switch (ast->kind) {
|
switch (ast->kind) {
|
||||||
case AST_SCOPE: {
|
case AST_SCOPE: {
|
||||||
Ast_Scope *n = (Ast_Scope *)ast;
|
Ast_Scope *n = (Ast_Scope *)ast;
|
||||||
@@ -110,12 +111,12 @@ void core__stringify(Ast *ast) {
|
|||||||
|
|
||||||
case AST_IDENT: {
|
case AST_IDENT: {
|
||||||
Ast_Atom *n = (Ast_Atom *)ast;
|
Ast_Atom *n = (Ast_Atom *)ast;
|
||||||
gen("%Q@%u", n->intern_val, n->di);
|
gen("%Q", n->intern_val);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_VALUE: {
|
case AST_VALUE: {
|
||||||
Ast_Atom *n = (Ast_Atom *)ast; //@todo: proper value
|
Ast_Atom *n = (Ast_Atom *)ast; //@todo: proper value
|
||||||
gen("%Q@%u", n->pos->string, n->di);
|
gen("%Q", n->pos->string);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_INDEX: {
|
case AST_INDEX: {
|
||||||
@@ -123,13 +124,13 @@ void core__stringify(Ast *ast) {
|
|||||||
core__stringify(n->expr);
|
core__stringify(n->expr);
|
||||||
gen("[");
|
gen("[");
|
||||||
core__stringify(n->index);
|
core__stringify(n->index);
|
||||||
gen("]@%u", n->di);
|
gen("]");
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_UNARY: {
|
case AST_UNARY: {
|
||||||
Ast_Unary *n = (Ast_Unary *)ast;
|
Ast_Unary *n = (Ast_Unary *)ast;
|
||||||
|
gen("%Q", n->pos->string);
|
||||||
core__stringify(n->expr);
|
core__stringify(n->expr);
|
||||||
gen("%Q@%u", n->pos->string, n->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_BINARY: {
|
case AST_BINARY: {
|
||||||
@@ -137,7 +138,6 @@ void core__stringify(Ast *ast) {
|
|||||||
core__stringify(n->left);
|
core__stringify(n->left);
|
||||||
gen("%Q", n->pos->string);
|
gen("%Q", n->pos->string);
|
||||||
core__stringify(n->right);
|
core__stringify(n->right);
|
||||||
gen("@%u", n->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_CALL_ITEM: {
|
case AST_CALL_ITEM: {
|
||||||
@@ -151,7 +151,7 @@ void core__stringify(Ast *ast) {
|
|||||||
gen(" = ");
|
gen(" = ");
|
||||||
}
|
}
|
||||||
core__stringify(n->item);
|
core__stringify(n->item);
|
||||||
gen("@%u", n->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_CALL: {
|
case AST_CALL: {
|
||||||
@@ -163,7 +163,6 @@ void core__stringify(Ast *ast) {
|
|||||||
if (!n->exprs.is_last(&it)) gen(",");
|
if (!n->exprs.is_last(&it)) gen(",");
|
||||||
}
|
}
|
||||||
gen(")");
|
gen(")");
|
||||||
gen("@%u", n->di);
|
|
||||||
} break;
|
} break;
|
||||||
case AST_COMPOUND: {
|
case AST_COMPOUND: {
|
||||||
Ast_Call *n = (Ast_Call *)ast;
|
Ast_Call *n = (Ast_Call *)ast;
|
||||||
@@ -178,7 +177,6 @@ void core__stringify(Ast *ast) {
|
|||||||
}
|
}
|
||||||
global_indent -= 1;
|
global_indent -= 1;
|
||||||
genln("}");
|
genln("}");
|
||||||
gen("@%u", n->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_TYPE_OF:
|
case AST_TYPE_OF:
|
||||||
@@ -205,7 +203,6 @@ void core__stringify(Ast *ast) {
|
|||||||
gen("(");
|
gen("(");
|
||||||
core__stringify(n->expr);
|
core__stringify(n->expr);
|
||||||
gen(")");
|
gen(")");
|
||||||
gen("@%u", n->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_SWITCH: {
|
case AST_SWITCH: {
|
||||||
@@ -216,7 +213,6 @@ void core__stringify(Ast *ast) {
|
|||||||
core__stringify(it);
|
core__stringify(it);
|
||||||
}
|
}
|
||||||
core__stringify(n->default_scope);
|
core__stringify(n->default_scope);
|
||||||
gen("@%u", n->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_SWITCH_CASE: {
|
case AST_SWITCH_CASE: {
|
||||||
@@ -226,7 +222,6 @@ void core__stringify(Ast *ast) {
|
|||||||
core__stringify(it);
|
core__stringify(it);
|
||||||
}
|
}
|
||||||
core__stringify(n->scope);
|
core__stringify(n->scope);
|
||||||
gen("@%u", n->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_VAR_UNPACK: {
|
case AST_VAR_UNPACK: {
|
||||||
@@ -241,12 +236,10 @@ void core__stringify(Ast *ast) {
|
|||||||
|
|
||||||
case AST_PASS: {
|
case AST_PASS: {
|
||||||
genln("pass");
|
genln("pass");
|
||||||
gen("@%u", ast->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_BREAK: {
|
case AST_BREAK: {
|
||||||
genln("break");
|
genln("break");
|
||||||
gen("@%u", ast->di);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case AST_NAMESPACE: {
|
case AST_NAMESPACE: {
|
||||||
|
|||||||
Reference in New Issue
Block a user