Support for passing native types through metadata/creader.

This commit is contained in:
Graydon Hoare 2011-04-01 17:04:51 -07:00
parent 2a2ea6351d
commit 0397c05f42
2 changed files with 5 additions and 1 deletions

View File

@ -524,6 +524,7 @@ fn kind_has_type_params(u8 kind_ch) -> bool {
else if (kind_ch == ('y' as u8)) { ret true; }
else if (kind_ch == ('o' as u8)) { ret true; }
else if (kind_ch == ('t' as u8)) { ret true; }
else if (kind_ch == ('T' as u8)) { ret false; }
else if (kind_ch == ('m' as u8)) { ret false; }
else if (kind_ch == ('n' as u8)) { ret false; }
else if (kind_ch == ('v' as u8)) { ret true; }
@ -561,6 +562,7 @@ fn lookup_def(session.session sess, int cnum, vec[ast.ident] path)
else if (kind_ch == ('F' as u8)) { def = ast.def_native_fn(did); }
else if (kind_ch == ('y' as u8)) { def = ast.def_ty(did); }
else if (kind_ch == ('o' as u8)) { def = ast.def_obj(did); }
else if (kind_ch == ('T' as u8)) { def = ast.def_native_ty(did); }
else if (kind_ch == ('t' as u8)) {
// We treat references to tags as references to types.
def = ast.def_ty(did);

View File

@ -6211,7 +6211,9 @@ fn collect_native_item(&@crate_ctxt cx, @ast.native_item i) -> @crate_ctxt {
decl_native_fn_and_pair(cx, name, ann, fid);
}
}
case (_) { /* fall through */ }
case (ast.native_item_ty(_, ?tid)) {
cx.native_items.insert(tid, i);
}
}
ret cx;
}