void VariableResolver::visit(BinaryExpression &binary)
{
- if(binary.oper=="[")
+ if(binary.oper->token[0]=='[')
{
{
SetForScope<bool> set(record_target, false);
self_referencing = false;
assign.right->visit(*this);
- assign.self_referencing = (self_referencing || assign.oper!="=");
+ assign.self_referencing = (self_referencing || assign.oper->token[0]!='=');
assign.target_declaration = assignment_target;
}
VariableReference *ref = new VariableReference;
ref->name = left;
assign->left = ref;
- assign->oper = "=";
+ assign->oper = &Operator::get_operator("=", Operator::BINARY);
assign->right = right;
ExpressionStatement *stmt = new ExpressionStatement;
BinaryExpression *subscript = new BinaryExpression;
subscript->left = ref;
- subscript->oper = "[";
+ subscript->oper = &Operator::get_operator("[", Operator::BINARY);
subscript->right = pass.subscript;
- subscript->after = "]";
MemberAccess *memacc = new MemberAccess;
memacc->left = subscript;
{
BinaryExpression *subscript = new BinaryExpression;
subscript->left = ref;
- subscript->oper = "[";
+ subscript->oper = &Operator::get_operator("[", Operator::BINARY);
subscript->right = pass.subscript;
- subscript->after = "]";
insert_assignment(out_name, subscript);
}
else