summaryrefslogtreecommitdiffstats
path: root/staptree.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'staptree.cxx')
-rw-r--r--staptree.cxx28
1 files changed, 27 insertions, 1 deletions
diff --git a/staptree.cxx b/staptree.cxx
index 34a1d0d3..8a4fc148 100644
--- a/staptree.cxx
+++ b/staptree.cxx
@@ -753,7 +753,7 @@ functioncall::resolve_types (typeresolution_info& r, exp_type t)
// now resolve the function parameters
if (args.size() != referent->formal_args.size())
r.unresolved (tok);
- for (unsigned i=0; i<args.size(); i++)
+ else for (unsigned i=0; i<args.size(); i++)
{
expression* e = args[i];
exp_type& ft = referent->formal_args[i]->type;
@@ -901,3 +901,29 @@ typeresolution_info::resolved (const token* tok, exp_type t)
num_newly_resolved ++;
// cerr << "resolved " << *tok << " type " << t << endl;
}
+
+
+// ------------------------------------------------------------------------
+// semantic processing: lvalue checking
+
+bool
+pre_crement::is_lvalue ()
+{
+ return operand->is_lvalue ();
+}
+
+
+bool
+post_crement::is_lvalue ()
+{
+ return operand->is_lvalue ();
+}
+
+
+bool
+assignment::is_lvalue ()
+{
+ return left->is_lvalue ();
+}
+
+