Ast_Flag_Dead = BH_BIT(22),
Ast_Flag_Extra_Field_Access = BH_BIT(23),
+
+ Ast_Flag_Symbol_Is_PolyVar = BH_BIT(24),
} AstFlags;
typedef enum UnaryOp {
case Ast_Kind_Symbol:
case Ast_Kind_Param:
+ if (node->flags & Ast_Flag_Symbol_Is_PolyVar)
+ bh_buffer_write_byte(buffer, '$');
+
bh_buffer_append(buffer, node->token->text, node->token->length);
return;
}
AstNode* symbol_node = make_node(AstNode, Ast_Kind_Symbol);
symbol_node->token = expect_token(parser, Token_Type_Symbol);
+ symbol_node->flags |= Ast_Flag_Symbol_Is_PolyVar;
AstNode *implicit_interface = NULL;
if (consume_token_if_next(parser, '/')) {