Remove LineColumn
, Span::start
, Span::end
This commit is contained in:
parent
a34ceade11
commit
dc76991d2f
4 changed files with 2 additions and 76 deletions
|
@ -2,7 +2,7 @@ use crate::base::ExtCtxt;
|
||||||
use pm::bridge::{
|
use pm::bridge::{
|
||||||
server, DelimSpan, Diagnostic, ExpnGlobals, Group, Ident, LitKind, Literal, Punct, TokenTree,
|
server, DelimSpan, Diagnostic, ExpnGlobals, Group, Ident, LitKind, Literal, Punct, TokenTree,
|
||||||
};
|
};
|
||||||
use pm::{Delimiter, Level, LineColumn};
|
use pm::{Delimiter, Level};
|
||||||
use rustc_ast as ast;
|
use rustc_ast as ast;
|
||||||
use rustc_ast::token;
|
use rustc_ast::token;
|
||||||
use rustc_ast::tokenstream::{self, Spacing::*, TokenStream};
|
use rustc_ast::tokenstream::{self, Spacing::*, TokenStream};
|
||||||
|
@ -648,17 +648,6 @@ impl server::Span for Rustc<'_, '_> {
|
||||||
|
|
||||||
Range { start: relative_start_pos.0 as usize, end: relative_end_pos.0 as usize }
|
Range { start: relative_start_pos.0 as usize, end: relative_end_pos.0 as usize }
|
||||||
}
|
}
|
||||||
|
|
||||||
fn start(&mut self, span: Self::Span) -> LineColumn {
|
|
||||||
let loc = self.sess().source_map().lookup_char_pos(span.lo());
|
|
||||||
LineColumn { line: loc.line, column: loc.col.to_usize() }
|
|
||||||
}
|
|
||||||
|
|
||||||
fn end(&mut self, span: Self::Span) -> LineColumn {
|
|
||||||
let loc = self.sess().source_map().lookup_char_pos(span.hi());
|
|
||||||
LineColumn { line: loc.line, column: loc.col.to_usize() }
|
|
||||||
}
|
|
||||||
|
|
||||||
fn before(&mut self, span: Self::Span) -> Self::Span {
|
fn before(&mut self, span: Self::Span) -> Self::Span {
|
||||||
span.shrink_to_lo()
|
span.shrink_to_lo()
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
#![deny(unsafe_code)]
|
#![deny(unsafe_code)]
|
||||||
|
|
||||||
use crate::{Delimiter, Level, LineColumn, Spacing};
|
use crate::{Delimiter, Level, Spacing};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::hash::Hash;
|
use std::hash::Hash;
|
||||||
use std::marker;
|
use std::marker;
|
||||||
|
@ -95,8 +95,6 @@ macro_rules! with_api {
|
||||||
fn parent($self: $S::Span) -> Option<$S::Span>;
|
fn parent($self: $S::Span) -> Option<$S::Span>;
|
||||||
fn source($self: $S::Span) -> $S::Span;
|
fn source($self: $S::Span) -> $S::Span;
|
||||||
fn byte_range($self: $S::Span) -> Range<usize>;
|
fn byte_range($self: $S::Span) -> Range<usize>;
|
||||||
fn start($self: $S::Span) -> LineColumn;
|
|
||||||
fn end($self: $S::Span) -> LineColumn;
|
|
||||||
fn before($self: $S::Span) -> $S::Span;
|
fn before($self: $S::Span) -> $S::Span;
|
||||||
fn after($self: $S::Span) -> $S::Span;
|
fn after($self: $S::Span) -> $S::Span;
|
||||||
fn join($self: $S::Span, other: $S::Span) -> Option<$S::Span>;
|
fn join($self: $S::Span, other: $S::Span) -> Option<$S::Span>;
|
||||||
|
@ -299,7 +297,6 @@ mark_noop! {
|
||||||
Delimiter,
|
Delimiter,
|
||||||
LitKind,
|
LitKind,
|
||||||
Level,
|
Level,
|
||||||
LineColumn,
|
|
||||||
Spacing,
|
Spacing,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -319,7 +316,6 @@ rpc_encode_decode!(
|
||||||
Help,
|
Help,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
rpc_encode_decode!(struct LineColumn { line, column });
|
|
||||||
rpc_encode_decode!(
|
rpc_encode_decode!(
|
||||||
enum Spacing {
|
enum Spacing {
|
||||||
Alone,
|
Alone,
|
||||||
|
|
|
@ -43,7 +43,6 @@ mod diagnostic;
|
||||||
#[unstable(feature = "proc_macro_diagnostic", issue = "54140")]
|
#[unstable(feature = "proc_macro_diagnostic", issue = "54140")]
|
||||||
pub use diagnostic::{Diagnostic, Level, MultiSpan};
|
pub use diagnostic::{Diagnostic, Level, MultiSpan};
|
||||||
|
|
||||||
use std::cmp::Ordering;
|
|
||||||
use std::ops::{Range, RangeBounds};
|
use std::ops::{Range, RangeBounds};
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
|
@ -494,18 +493,6 @@ impl Span {
|
||||||
self.0.byte_range()
|
self.0.byte_range()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Gets the starting line/column in the source file for this span.
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
pub fn start(&self) -> LineColumn {
|
|
||||||
self.0.start().add_1_to_column()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Gets the ending line/column in the source file for this span.
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
pub fn end(&self) -> LineColumn {
|
|
||||||
self.0.end().add_1_to_column()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Creates an empty span pointing to directly before this span.
|
/// Creates an empty span pointing to directly before this span.
|
||||||
#[unstable(feature = "proc_macro_span_shrink", issue = "87552")]
|
#[unstable(feature = "proc_macro_span_shrink", issue = "87552")]
|
||||||
pub fn before(&self) -> Span {
|
pub fn before(&self) -> Span {
|
||||||
|
@ -586,44 +573,6 @@ impl fmt::Debug for Span {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A line-column pair representing the start or end of a `Span`.
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
|
|
||||||
pub struct LineColumn {
|
|
||||||
/// The 1-indexed line in the source file on which the span starts or ends (inclusive).
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
pub line: usize,
|
|
||||||
/// The 1-indexed column (number of bytes in UTF-8 encoding) in the source
|
|
||||||
/// file on which the span starts or ends (inclusive).
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
pub column: usize,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl LineColumn {
|
|
||||||
fn add_1_to_column(self) -> Self {
|
|
||||||
LineColumn { line: self.line, column: self.column + 1 }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
impl !Send for LineColumn {}
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
impl !Sync for LineColumn {}
|
|
||||||
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
impl Ord for LineColumn {
|
|
||||||
fn cmp(&self, other: &Self) -> Ordering {
|
|
||||||
self.line.cmp(&other.line).then(self.column.cmp(&other.column))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
|
||||||
impl PartialOrd for LineColumn {
|
|
||||||
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
|
|
||||||
Some(self.cmp(other))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// The source file of a given `Span`.
|
/// The source file of a given `Span`.
|
||||||
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
#[unstable(feature = "proc_macro_span", issue = "54725")]
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
|
|
@ -304,14 +304,6 @@ impl server::Span for RustAnalyzer {
|
||||||
// FIXME handle span
|
// FIXME handle span
|
||||||
Range { start: 0, end: 0 }
|
Range { start: 0, end: 0 }
|
||||||
}
|
}
|
||||||
fn start(&mut self, _span: Self::Span) -> LineColumn {
|
|
||||||
// FIXME handle span
|
|
||||||
LineColumn { line: 0, column: 0 }
|
|
||||||
}
|
|
||||||
fn end(&mut self, _span: Self::Span) -> LineColumn {
|
|
||||||
// FIXME handle span
|
|
||||||
LineColumn { line: 0, column: 0 }
|
|
||||||
}
|
|
||||||
fn join(&mut self, first: Self::Span, _second: Self::Span) -> Option<Self::Span> {
|
fn join(&mut self, first: Self::Span, _second: Self::Span) -> Option<Self::Span> {
|
||||||
// Just return the first span again, because some macros will unwrap the result.
|
// Just return the first span again, because some macros will unwrap the result.
|
||||||
Some(first)
|
Some(first)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue