aboutsummaryrefslogtreecommitdiff
path: root/gcjx/model/assign.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcjx/model/assign.cc')
-rw-r--r--gcjx/model/assign.cc19
1 files changed, 8 insertions, 11 deletions
diff --git a/gcjx/model/assign.cc b/gcjx/model/assign.cc
index 1e947201695..8136af1e428 100644
--- a/gcjx/model/assign.cc
+++ b/gcjx/model/assign.cc
@@ -1,6 +1,6 @@
// Assignments.
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -72,8 +72,14 @@ model_assignment::check_lhs (const char *name)
}
void
-model_assignment::handle_resolve (resolution_scope *scope)
+model_assignment::resolve (resolution_scope *scope)
{
+ lhs->set_left_hand_side (false);
+ lhs->resolve (scope);
+
+ rhs->use_assignment_conversion (lhs->type ());
+ rhs->resolve (scope);
+
check_lhs ("");
model_type *result = assignment_conversion (lhs->type (), rhs);
@@ -101,15 +107,6 @@ model_assignment::handle_resolve (resolution_scope *scope)
}
void
-model_assignment::resolve (resolution_scope *scope)
-{
- lhs->set_left_hand_side (false);
- lhs->resolve (scope);
- rhs->resolve (scope);
- handle_resolve (scope);
-}
-
-void
model_assignment::visit (visitor *v)
{
v->visit_assignment (this, lhs, rhs);