More typechecking for native types and the needed plumbing in codegen.

This commit is contained in:
Rafael Avila de Espindola 2011-02-16 14:02:02 -05:00
parent d4bf67dde6
commit 012fa69ea5
7 changed files with 65 additions and 16 deletions

View file

@ -263,7 +263,7 @@ tag item_ {
type native_item = spanned[native_item_];
tag native_item_ {
native_item_ty(ident, def_id);
native_item_fn(ident, fn_decl, vec[ty_param], def_id);
native_item_fn(ident, fn_decl, vec[ty_param], def_id, ann);
}
fn index_view_item(mod_index index, @view_item it) {
@ -314,7 +314,7 @@ fn index_native_item(native_mod_index index, @native_item it) {
case (ast.native_item_ty(?id, _)) {
index.insert(id, it);
}
case (ast.native_item_fn(?id, _, _, _)) {
case (ast.native_item_fn(?id, _, _, _, _)) {
index.insert(id, it);
}
}

View file

@ -1693,7 +1693,8 @@ impure fn parse_item_native_fn(parser p, ast.effect eff) -> @ast.native_item {
auto decl = parse_fn_decl(p, eff);
auto hi = p.get_span();
expect(p, token.SEMI);
auto item = ast.native_item_fn(t._1, decl, t._2, p.next_def_id());
auto item = ast.native_item_fn(t._1, decl, t._2, p.next_def_id(),
ast.ann_none);
ret @spanned(t._0, hi, item);
}