diff options
Diffstat (limited to 'gcjx/model/assign.cc')
-rw-r--r-- | gcjx/model/assign.cc | 19 |
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); |