diff options
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 2a23ace632c..ae899a91bfa 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3119,6 +3119,30 @@ class parser { return iovi_item(self.mk_item(lo, self.last_span.hi, ident, item_, visibility, maybe_append(attrs, extra_attrs))); + } else if self.eat_keyword(~"use") { + let view_item = self.parse_use(); + return iovi_view_item(@{ + node: view_item, + attrs: attrs, + vis: visibility, + span: mk_sp(lo, self.last_span.hi) + }); + } else if self.eat_keyword(~"import") { + let view_paths = self.parse_view_paths(); + return iovi_view_item(@{ + node: view_item_import(view_paths), + attrs: attrs, + vis: visibility, + span: mk_sp(lo, self.last_span.hi) + }); + } else if self.eat_keyword(~"export") { + let view_paths = self.parse_view_paths(); + return iovi_view_item(@{ + node: view_item_export(view_paths), + attrs: attrs, + vis: visibility, + span: mk_sp(lo, self.last_span.hi) + }); } else if !self.is_any_keyword(copy self.token) && self.look_ahead(1) == token::NOT && is_plain_ident(self.look_ahead(2)) { |
