Update to proc-macro2 0.3 and tweak apis
diff --git a/src/ident.rs b/src/ident.rs
index 8402420..7b0e532 100644
--- a/src/ident.rs
+++ b/src/ident.rs
@@ -99,7 +99,6 @@
#[derive(Copy, Clone, Debug)]
pub struct Ident {
term: Term,
- pub span: Span,
}
impl Ident {
@@ -145,15 +144,22 @@
}
Ident {
- term: Term::intern(s),
- span: span,
+ term: Term::new(s, span),
}
}
+
+ pub fn span(&self) -> Span {
+ self.term.span()
+ }
+
+ pub fn set_span(&mut self, span: Span) {
+ self.term.set_span(span);
+ }
}
impl<'a> From<&'a str> for Ident {
fn from(s: &str) -> Self {
- Ident::new(s, Span::def_site())
+ Ident::new(s, Span::call_site())
}
}
@@ -183,13 +189,13 @@
impl<'a> From<Cow<'a, str>> for Ident {
fn from(s: Cow<'a, str>) -> Self {
- Ident::new(&s, Span::def_site())
+ Ident::new(&s, Span::call_site())
}
}
impl From<String> for Ident {
fn from(s: String) -> Self {
- Ident::new(&s, Span::def_site())
+ Ident::new(&s, Span::call_site())
}
}
@@ -244,7 +250,7 @@
impl Synom for Ident {
fn parse(input: Cursor) -> PResult<Self> {
- let (span, term, rest) = match input.term() {
+ let (term, rest) = match input.term() {
Some(term) => term,
_ => return parse_error(),
};
@@ -265,7 +271,6 @@
Ok((
Ident {
- span: span,
term: term,
},
rest,
@@ -282,14 +287,10 @@
mod printing {
use super::*;
use quote::{ToTokens, Tokens};
- use proc_macro2::{TokenNode, TokenTree};
impl ToTokens for Ident {
fn to_tokens(&self, tokens: &mut Tokens) {
- tokens.append(TokenTree {
- span: self.span,
- kind: TokenNode::Term(self.term),
- })
+ tokens.append(self.term);
}
}
}