aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2010-12-07 10:38:42 -0800
committerPatrick Walton <[email protected]>2010-12-07 10:38:42 -0800
commit15a614acb4dcb94181609add10bc58a4156d4d4d (patch)
tree27c5fc2d3052e30a645aeff0a558a04216953119
parentUn-XFAIL deref.rs and large-records.rs. (diff)
downloadrust-15a614acb4dcb94181609add10bc58a4156d4d4d.tar.xz
rust-15a614acb4dcb94181609add10bc58a4156d4d4d.zip
rustc: Implement is_lval
-rw-r--r--src/comp/middle/typeck.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs
index 9353204f..9811af9e 100644
--- a/src/comp/middle/typeck.rs
+++ b/src/comp/middle/typeck.rs
@@ -535,6 +535,15 @@ fn field_idx(session.session sess, &span sp,
fail;
}
+fn is_lval(@ast.expr expr) -> bool {
+ alt (expr.node) {
+ case (ast.expr_field(_,_,_)) { ret true; }
+ case (ast.expr_index(_,_,_)) { ret true; }
+ case (ast.expr_name(_,_,_)) { ret true; }
+ case (_) { ret false; }
+ }
+}
+
// Type utilities
// FIXME: remove me when == works on these tags.