about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2011-05-27 17:00:21 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2011-05-27 17:34:50 -0700
commit0c5a55f2755138a6ddd2fbdfc7b11a4117409c5e (patch)
tree4cacd3502a4bbe501963a7f7bf00083a26f2a44e /src/comp
parent193c1fac4cfb7f5293ad8a5f50b41a614ca27068 (diff)
downloadrust-0c5a55f2755138a6ddd2fbdfc7b11a4117409c5e.tar.gz
rust-0c5a55f2755138a6ddd2fbdfc7b11a4117409c5e.zip
add a function that returns the type of a local decl
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/ty.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs
index 3d12d16d528..ed341414465 100644
--- a/src/comp/middle/ty.rs
+++ b/src/comp/middle/ty.rs
@@ -1811,6 +1811,17 @@ fn expr_has_ty_params(&node_type_table ntt, &@ast::expr expr) -> bool {
     ret ann_has_type_params(ntt, expr_ann(expr));
 }
 
+fn decl_local_ty(&ctxt cx, &@ast::decl d) -> t {
+    alt (d.node) {
+        case (ast::decl_local(?l)) {
+            ret ann_to_type(cx.node_types, l.ann);
+        }
+        case (_) {
+            cx.sess.bug("decl_local_ty called on an item decl");
+        }
+    }
+}
+
 fn stmt_ann(&@ast::stmt s) -> ast::ann {
     alt (s.node) {
         case (ast::stmt_decl(_, ?a)) { ret a; }