use rustc_session::parse::ParseSess;
use rustc_span::source_map::respan;
use rustc_span::symbol::{kw, sym, Symbol};
-use rustc_span::{BytePos, FileName, Span, DUMMY_SP};
+use rustc_span::{FileName, Span, DUMMY_SP};
use syntax::ast::{self, AttrStyle, AttrVec, CrateSugar, Extern, Ident, Unsafety, DUMMY_NODE_ID};
use syntax::ast::{IsAsync, MacArgs, MacDelimiter, Mutability, StrLit, Visibility, VisibilityKind};
use syntax::ptr::P;
true
}
token::BinOpEq(token::Plus) => {
- let span = self.token.span.with_lo(self.token.span.lo() + BytePos(1));
- self.bump_with(token::Eq, span);
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ self.bump_with(token::Eq, self.token.span.with_lo(start_point.hi()));
true
}
_ => false,
Ok(())
}
token::AndAnd => {
- let span = self.token.span.with_lo(self.token.span.lo() + BytePos(1));
- Ok(self.bump_with(token::BinOp(token::And), span))
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ Ok(self
+ .bump_with(token::BinOp(token::And), self.token.span.with_lo(start_point.hi())))
}
_ => self.unexpected(),
}
Ok(())
}
token::OrOr => {
- let span = self.token.span.with_lo(self.token.span.lo() + BytePos(1));
- Ok(self.bump_with(token::BinOp(token::Or), span))
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ Ok(self
+ .bump_with(token::BinOp(token::Or), self.token.span.with_lo(start_point.hi())))
}
_ => self.unexpected(),
}
true
}
token::BinOp(token::Shl) => {
- let span = self.sess.source_map().next_point(self.token.span);
- self.bump_with(token::Lt, span);
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ self.bump_with(token::Lt, self.token.span.with_lo(start_point.hi()));
true
}
token::LArrow => {
- let span = self.sess.source_map().next_point(self.token.span);
- self.bump_with(token::BinOp(token::Minus), span);
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ self.bump_with(
+ token::BinOp(token::Minus),
+ self.token.span.with_lo(start_point.hi()),
+ );
true
}
_ => false,
Some(())
}
token::BinOp(token::Shr) => {
- let span = self.token.span.with_lo(self.token.span.lo() + BytePos(1));
- Some(self.bump_with(token::Gt, span))
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ Some(self.bump_with(token::Gt, self.token.span.with_lo(start_point.hi())))
}
token::BinOpEq(token::Shr) => {
- let span = self.token.span.with_lo(self.token.span.lo() + BytePos(1));
- Some(self.bump_with(token::Ge, span))
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ Some(self.bump_with(token::Ge, self.token.span.with_lo(start_point.hi())))
}
token::Ge => {
- let span = self.token.span.with_lo(self.token.span.lo() + BytePos(1));
- Some(self.bump_with(token::Eq, span))
+ let start_point = self.sess.source_map().start_point(self.token.span);
+ Some(self.bump_with(token::Eq, self.token.span.with_lo(start_point.hi())))
}
_ => None,
};