Delete unnecessary ParserAttr trait.
This commit is contained in:
parent
1dd87dcfea
commit
c141f47c24
5 changed files with 4 additions and 25 deletions
|
@ -19,7 +19,6 @@ use ext::base;
|
||||||
use ext::build::AstBuilder;
|
use ext::build::AstBuilder;
|
||||||
use attr;
|
use attr;
|
||||||
use attr::*;
|
use attr::*;
|
||||||
use parse::attr::ParserAttr;
|
|
||||||
use parse::token;
|
use parse::token;
|
||||||
|
|
||||||
pub fn expand_cfg<'cx>(cx: &mut ExtCtxt,
|
pub fn expand_cfg<'cx>(cx: &mut ExtCtxt,
|
||||||
|
|
|
@ -85,7 +85,6 @@ use codemap::{BytePos, mk_sp, Span};
|
||||||
use codemap;
|
use codemap;
|
||||||
use parse::lexer::*; //resolve bug?
|
use parse::lexer::*; //resolve bug?
|
||||||
use parse::ParseSess;
|
use parse::ParseSess;
|
||||||
use parse::attr::ParserAttr;
|
|
||||||
use parse::parser::{LifetimeAndTypesWithoutColons, Parser};
|
use parse::parser::{LifetimeAndTypesWithoutColons, Parser};
|
||||||
use parse::token::{Eof, DocComment, MatchNt, SubstNt};
|
use parse::token::{Eof, DocComment, MatchNt, SubstNt};
|
||||||
use parse::token::{Token, Nonterminal};
|
use parse::token::{Token, Nonterminal};
|
||||||
|
|
|
@ -16,19 +16,9 @@ use parse::token;
|
||||||
use parse::parser::{Parser, TokenType};
|
use parse::parser::{Parser, TokenType};
|
||||||
use ptr::P;
|
use ptr::P;
|
||||||
|
|
||||||
/// A parser that can parse attributes.
|
impl<'a> Parser<'a> {
|
||||||
pub trait ParserAttr {
|
|
||||||
fn parse_outer_attributes(&mut self) -> Vec<ast::Attribute>;
|
|
||||||
fn parse_inner_attributes(&mut self) -> Vec<ast::Attribute>;
|
|
||||||
fn parse_attribute(&mut self, permit_inner: bool) -> ast::Attribute;
|
|
||||||
fn parse_meta_item(&mut self) -> P<ast::MetaItem>;
|
|
||||||
fn parse_meta_seq(&mut self) -> Vec<P<ast::MetaItem>>;
|
|
||||||
fn parse_optional_meta(&mut self) -> Vec<P<ast::MetaItem>>;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'a> ParserAttr for Parser<'a> {
|
|
||||||
/// Parse attributes that appear before an item
|
/// Parse attributes that appear before an item
|
||||||
fn parse_outer_attributes(&mut self) -> Vec<ast::Attribute> {
|
pub fn parse_outer_attributes(&mut self) -> Vec<ast::Attribute> {
|
||||||
let mut attrs: Vec<ast::Attribute> = Vec::new();
|
let mut attrs: Vec<ast::Attribute> = Vec::new();
|
||||||
loop {
|
loop {
|
||||||
debug!("parse_outer_attributes: self.token={:?}",
|
debug!("parse_outer_attributes: self.token={:?}",
|
||||||
|
@ -120,7 +110,7 @@ impl<'a> ParserAttr for Parser<'a> {
|
||||||
/// terminated by a semicolon.
|
/// terminated by a semicolon.
|
||||||
|
|
||||||
/// matches inner_attrs*
|
/// matches inner_attrs*
|
||||||
fn parse_inner_attributes(&mut self) -> Vec<ast::Attribute> {
|
pub fn parse_inner_attributes(&mut self) -> Vec<ast::Attribute> {
|
||||||
let mut attrs: Vec<ast::Attribute> = vec![];
|
let mut attrs: Vec<ast::Attribute> = vec![];
|
||||||
loop {
|
loop {
|
||||||
match self.token {
|
match self.token {
|
||||||
|
@ -155,7 +145,7 @@ impl<'a> ParserAttr for Parser<'a> {
|
||||||
/// matches meta_item = IDENT
|
/// matches meta_item = IDENT
|
||||||
/// | IDENT = lit
|
/// | IDENT = lit
|
||||||
/// | IDENT meta_seq
|
/// | IDENT meta_seq
|
||||||
fn parse_meta_item(&mut self) -> P<ast::MetaItem> {
|
pub fn parse_meta_item(&mut self) -> P<ast::MetaItem> {
|
||||||
let nt_meta = match self.token {
|
let nt_meta = match self.token {
|
||||||
token::Interpolated(token::NtMeta(ref e)) => {
|
token::Interpolated(token::NtMeta(ref e)) => {
|
||||||
Some(e.clone())
|
Some(e.clone())
|
||||||
|
@ -210,11 +200,4 @@ impl<'a> ParserAttr for Parser<'a> {
|
||||||
seq_sep_trailing_allowed(token::Comma),
|
seq_sep_trailing_allowed(token::Comma),
|
||||||
|p| Ok(p.parse_meta_item()))).node
|
|p| Ok(p.parse_meta_item()))).node
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_optional_meta(&mut self) -> Vec<P<ast::MetaItem>> {
|
|
||||||
match self.token {
|
|
||||||
token::OpenDelim(token::Paren) => self.parse_meta_seq(),
|
|
||||||
_ => Vec::new()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
use ast;
|
use ast;
|
||||||
use codemap::{self, Span, CodeMap, FileMap};
|
use codemap::{self, Span, CodeMap, FileMap};
|
||||||
use diagnostic::{SpanHandler, Handler, Auto, FatalError};
|
use diagnostic::{SpanHandler, Handler, Auto, FatalError};
|
||||||
use parse::attr::ParserAttr;
|
|
||||||
use parse::parser::Parser;
|
use parse::parser::Parser;
|
||||||
use parse::token::InternedString;
|
use parse::token::InternedString;
|
||||||
use ptr::P;
|
use ptr::P;
|
||||||
|
|
|
@ -64,7 +64,6 @@ use codemap::{self, Span, BytePos, Spanned, spanned, mk_sp, CodeMap};
|
||||||
use diagnostic;
|
use diagnostic;
|
||||||
use ext::tt::macro_parser;
|
use ext::tt::macro_parser;
|
||||||
use parse;
|
use parse;
|
||||||
use parse::attr::ParserAttr;
|
|
||||||
use parse::classify;
|
use parse::classify;
|
||||||
use parse::common::{SeqSep, seq_sep_none, seq_sep_trailing_allowed};
|
use parse::common::{SeqSep, seq_sep_none, seq_sep_trailing_allowed};
|
||||||
use parse::lexer::{Reader, TokenAndSpan};
|
use parse::lexer::{Reader, TokenAndSpan};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue