Printing di's proprly

This commit is contained in:
Krzosa Karol
2023-03-31 22:45:51 +02:00
parent b6835d0f6a
commit e2ae8005bb

View File

@@ -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: {