Skip to content

Commit 6174837

Browse files
committed
create unique method name to avoid conflict
1 parent 86f2bbe commit 6174837

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/parser.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,12 @@ TypeEnum::TypeEnum(const std::map<std::string, int> &names)
104104
}
105105
values[n.second] = new ConstantStringExpression(n.first);
106106
}
107-
f->statements.push_back(new AssignmentStatement(0, std::vector<const ReferenceExpression *>{new VariableExpression(name_array)}, new ArrayLiteralExpression(TYPE_STRING, values)));
107+
std::vector<const ReferenceExpression *> a;
108+
a.push_back(new VariableExpression(name_array));
109+
f->statements.push_back(new AssignmentStatement(0, a, new ArrayLiteralExpression(TYPE_STRING, values)));
108110
f->statements.push_back(new ReturnStatement(0, new ArrayIndexExpression(TYPE_STRING, new VariableExpression(name_array), new VariableExpression(fp))));
109111
methods["to_string"] = f;
110-
Parser::global_scope->addName("enum.to_string", f, true);
112+
Parser::global_scope->addName("enum.to_string."+std::to_string(reinterpret_cast<intptr_t>(this)), f, true);
111113
}
112114
}
113115

0 commit comments

Comments
 (0)