Operators initially working! Problems with untyped literals
This commit is contained in:
@@ -354,6 +354,7 @@ gen_expr(Ast_Expr *ast, Ast_Type *type_of_var){
|
||||
gen_expr(node->right);
|
||||
return true;
|
||||
}
|
||||
|
||||
else if(node->op == TK_Arrow){
|
||||
gen("(");
|
||||
gen("(");
|
||||
@@ -364,11 +365,22 @@ gen_expr(Ast_Expr *ast, Ast_Type *type_of_var){
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!token_is_assign(node->op)) gen("(");
|
||||
gen_expr(node->left);
|
||||
gen("%s", name(node->op));
|
||||
gen_expr(node->right);
|
||||
if(!token_is_assign(node->op)) gen(")");
|
||||
else if(node->resolved_operator_overload){
|
||||
gen("%Q(", node->resolved_operator_overload->unique_name);
|
||||
gen_expr(node->left);
|
||||
gen(", ");
|
||||
gen_expr(node->right);
|
||||
gen(")");
|
||||
}
|
||||
|
||||
else {
|
||||
if(!token_is_assign(node->op)) gen("(");
|
||||
gen_expr(node->left);
|
||||
gen("%s", name(node->op));
|
||||
gen_expr(node->right);
|
||||
if(!token_is_assign(node->op)) gen(")");
|
||||
}
|
||||
|
||||
|
||||
BREAK();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user