Skip to content

Commit 28c1136

Browse files
authored
Rollup merge of rust-lang#65916 - Centril:split-syntax-3, r=davidtwco
syntax: move stuff around Part of rust-lang#65324. r? @davidtwco cc @estebank @petrochenkov
2 parents 59e79ff + cc9c139 commit 28c1136

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+169
-150
lines changed

src/librustc/hir/lowering.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ use syntax::ptr::P as AstP;
6666
use syntax::ast::*;
6767
use syntax::errors;
6868
use syntax::print::pprust;
69-
use syntax::parse::token::{self, Nonterminal, Token};
69+
use syntax::token::{self, Nonterminal, Token};
7070
use syntax::tokenstream::{TokenStream, TokenTree};
7171
use syntax::sess::ParseSess;
7272
use syntax::source_map::{respan, ExpnData, ExpnKind, DesugaringKind, Spanned};

src/librustc/hir/map/def_collector.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use crate::hir::def_id::DefIndex;
44
use syntax::ast::*;
55
use syntax::visit;
66
use syntax::symbol::{kw, sym};
7-
use syntax::parse::token::{self, Token};
7+
use syntax::token::{self, Token};
88
use syntax_pos::hygiene::ExpnId;
99
use syntax_pos::Span;
1010

src/librustc/ich/impls_syntax.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ use std::mem;
88

99
use syntax::ast;
1010
use syntax::feature_gate;
11-
use syntax::parse::token;
12-
use syntax::symbol::SymbolStr;
11+
use syntax::token;
1312
use syntax::tokenstream;
13+
use syntax_pos::symbol::SymbolStr;
1414
use syntax_pos::SourceFile;
1515

1616
use crate::hir::def_id::{DefId, CrateNum, CRATE_DEF_INDEX};

src/librustc_driver/lib.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ use rustc::ty::TyCtxt;
4242
use rustc::util::common::{set_time_depth, time, print_time_passes_entry, ErrorReported};
4343
use rustc_metadata::locator;
4444
use rustc_codegen_utils::codegen_backend::CodegenBackend;
45+
use errors::PResult;
4546
use rustc_interface::interface;
4647
use rustc_interface::util::get_codegen_sysroot;
4748
use rustc_data_structures::sync::SeqCst;
@@ -64,7 +65,7 @@ use std::time::Instant;
6465
use syntax::ast;
6566
use syntax::source_map::FileLoader;
6667
use syntax::feature_gate::{GatedCfg, UnstableFeatures};
67-
use syntax::parse::{self, PResult};
68+
use syntax::parse;
6869
use syntax::symbol::sym;
6970
use syntax_pos::{DUMMY_SP, FileName};
7071

src/librustc_errors/lib.rs

+9-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ use Level::*;
1515

1616
use emitter::{Emitter, EmitterWriter, is_case_difference};
1717
use registry::Registry;
18-
18+
#[cfg(target_arch = "x86_64")]
19+
use rustc_data_structures::static_assert_size;
1920
use rustc_data_structures::sync::{self, Lrc, Lock};
2021
use rustc_data_structures::fx::{FxHashSet, FxIndexMap};
2122
use rustc_data_structures::stable_hasher::StableHasher;
@@ -48,6 +49,13 @@ use syntax_pos::{
4849
SpanSnippetError,
4950
};
5051

52+
pub type PResult<'a, T> = Result<T, DiagnosticBuilder<'a>>;
53+
54+
// `PResult` is used a lot. Make sure it doesn't unintentionally get bigger.
55+
// (See also the comment on `DiagnosticBuilderInner`.)
56+
#[cfg(target_arch = "x86_64")]
57+
static_assert_size!(PResult<'_, bool>, 16);
58+
5159
/// Indicates the confidence in the correctness of a suggestion.
5260
///
5361
/// All suggestions are marked with an `Applicability`. Tools use the applicability of a suggestion

src/librustc_interface/interface.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use std::result;
1616
use std::sync::{Arc, Mutex};
1717
use syntax::{self, parse};
1818
use syntax::ast::{self, MetaItemKind};
19-
use syntax::parse::token;
19+
use syntax::token;
2020
use syntax::source_map::{FileName, FileLoader, SourceMap};
2121
use syntax::sess::ParseSess;
2222
use syntax_pos::edition;

src/librustc_interface/passes.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ use rustc_codegen_utils::codegen_backend::CodegenBackend;
2222
use rustc_codegen_utils::link::filename_for_metadata;
2323
use rustc_data_structures::{box_region_allow_access, declare_box_region_type, parallel};
2424
use rustc_data_structures::sync::{Lrc, ParallelIterator, par_iter};
25+
use rustc_errors::PResult;
2526
use rustc_incremental;
2627
use rustc_metadata::cstore;
2728
use rustc_mir as mir;
@@ -36,7 +37,7 @@ use syntax::{self, ast, visit};
3637
use syntax::early_buffered_lints::BufferedEarlyLint;
3738
use syntax_expand::base::{NamedSyntaxExtension, ExtCtxt};
3839
use syntax::mut_visit::MutVisitor;
39-
use syntax::parse::{self, PResult};
40+
use syntax::parse;
4041
use syntax::util::node_count::NodeCounter;
4142
use syntax::symbol::Symbol;
4243
use syntax_pos::FileName;

src/librustc_resolve/build_reduced_graph.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use syntax::attr;
3333
use syntax::ast::{self, Block, ForeignItem, ForeignItemKind, Item, ItemKind, NodeId};
3434
use syntax::ast::{MetaItemKind, StmtKind, TraitItem, TraitItemKind};
3535
use syntax::feature_gate::is_builtin_attr;
36-
use syntax::parse::token::{self, Token};
36+
use syntax::token::{self, Token};
3737
use syntax::print::pprust;
3838
use syntax::{span_err, struct_span_err};
3939
use syntax::source_map::{respan, Spanned};

src/librustc_save_analysis/dump_visitor.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use std::path::Path;
2424
use std::env;
2525

2626
use syntax::ast::{self, Attribute, NodeId, PatKind};
27-
use syntax::parse::token;
27+
use syntax::token;
2828
use syntax::visit::{self, Visitor};
2929
use syntax::print::pprust::{
3030
bounds_to_string,

src/librustc_save_analysis/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use std::path::{Path, PathBuf};
2929

3030
use syntax::ast::{self, Attribute, DUMMY_NODE_ID, NodeId, PatKind};
3131
use syntax::source_map::Spanned;
32-
use syntax::parse::lexer::comments::strip_doc_comment_decoration;
32+
use syntax::util::comments::strip_doc_comment_decoration;
3333
use syntax::print::pprust;
3434
use syntax::visit::{self, Visitor};
3535
use syntax::print::pprust::{param_to_string, ty_to_string};

src/librustc_save_analysis/span_utils.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use rustc::session::Session;
33
use crate::generated_code;
44

55
use syntax::parse::lexer::{self, StringReader};
6-
use syntax::parse::token::{self, TokenKind};
6+
use syntax::token::{self, TokenKind};
77
use syntax_pos::*;
88

99
#[derive(Clone)]

src/librustdoc/clean/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use rustc::ty::layout::VariantIdx;
2828
use rustc::util::nodemap::{FxHashMap, FxHashSet};
2929
use syntax::ast::{self, Attribute, AttrStyle, AttrKind, Ident};
3030
use syntax::attr;
31-
use syntax::parse::lexer::comments;
31+
use syntax::util::comments;
3232
use syntax::source_map::DUMMY_SP;
3333
use syntax_pos::symbol::{Symbol, kw, sym};
3434
use syntax_pos::hygiene::MacroKind;

src/librustdoc/html/highlight.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::io::prelude::*;
1313

1414
use syntax::source_map::SourceMap;
1515
use syntax::parse::lexer;
16-
use syntax::parse::token::{self, Token};
16+
use syntax::token::{self, Token};
1717
use syntax::sess::ParseSess;
1818
use syntax::symbol::{kw, sym};
1919
use syntax_pos::{Span, FileName};

src/librustdoc/passes/check_code_block_syntax.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use errors::Applicability;
22
use syntax::parse::lexer::{StringReader as Lexer};
3-
use syntax::parse::token;
3+
use syntax::token;
44
use syntax::sess::ParseSess;
55
use syntax::source_map::FilePathMapping;
66
use syntax_pos::{InnerSpan, FileName};

src/libsyntax/ast.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ pub use crate::util::parser::ExprPrecedence;
2424

2525
pub use syntax_pos::symbol::{Ident, Symbol as Name};
2626

27-
use crate::parse::token::{self, DelimToken};
2827
use crate::ptr::P;
2928
use crate::source_map::{dummy_spanned, respan, Spanned};
29+
use crate::token::{self, DelimToken};
3030
use crate::tokenstream::TokenStream;
3131

3232
use syntax_pos::symbol::{kw, sym, Symbol};

src/libsyntax/attr/mod.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ use crate::ast::{MetaItem, MetaItemKind, NestedMetaItem};
1414
use crate::ast::{Lit, LitKind, Expr, Item, Local, Stmt, StmtKind, GenericParam};
1515
use crate::mut_visit::visit_clobber;
1616
use crate::source_map::{BytePos, Spanned};
17-
use crate::parse::lexer::comments::doc_comment_style;
1817
use crate::parse;
19-
use crate::parse::PResult;
20-
use crate::parse::token::{self, Token};
18+
use crate::token::{self, Token};
2119
use crate::ptr::P;
2220
use crate::sess::ParseSess;
2321
use crate::symbol::{sym, Symbol};
2422
use crate::ThinVec;
2523
use crate::tokenstream::{DelimSpan, TokenStream, TokenTree, TreeAndJoint};
2624
use crate::GLOBALS;
2725

26+
use errors::PResult;
27+
2828
use log::debug;
2929
use syntax_pos::Span;
3030

@@ -400,11 +400,11 @@ pub fn mk_attr_outer(item: MetaItem) -> Attribute {
400400
mk_attr(AttrStyle::Outer, item.path, item.kind.tokens(item.span), item.span)
401401
}
402402

403-
pub fn mk_doc_comment(comment: Symbol, span: Span) -> Attribute {
403+
pub fn mk_doc_comment(style: AttrStyle, comment: Symbol, span: Span) -> Attribute {
404404
Attribute {
405405
kind: AttrKind::DocComment(comment),
406406
id: mk_attr_id(),
407-
style: doc_comment_style(&comment.as_str()),
407+
style,
408408
span,
409409
}
410410
}

src/libsyntax/feature_gate/check.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::attr::{self, check_builtin_attribute};
1111
use crate::source_map::Spanned;
1212
use crate::edition::{ALL_EDITIONS, Edition};
1313
use crate::visit::{self, FnKind, Visitor};
14-
use crate::parse::token;
14+
use crate::token;
1515
use crate::sess::ParseSess;
1616
use crate::symbol::{Symbol, sym};
1717
use crate::tokenstream::TokenTree;

src/libsyntax/lib.rs

+4
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ pub mod diagnostics {
8585
pub mod error_codes;
8686

8787
pub mod util {
88+
crate mod classify;
89+
pub mod comments;
8890
pub mod lev_distance;
91+
crate mod literal;
8992
pub mod node_count;
9093
pub mod parser;
9194
pub mod map_in_place;
@@ -107,6 +110,7 @@ pub mod show_span;
107110
pub use syntax_pos::edition;
108111
pub use syntax_pos::symbol;
109112
pub mod sess;
113+
pub mod token;
110114
pub mod tokenstream;
111115
pub mod visit;
112116

src/libsyntax/mut_visit.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
1010
use crate::ast::*;
1111
use crate::source_map::{Spanned, respan};
12-
use crate::parse::token::{self, Token};
12+
use crate::token::{self, Token};
1313
use crate::ptr::P;
1414
use crate::ThinVec;
1515
use crate::tokenstream::*;

src/libsyntax/parse/lexer/mod.rs

+6-20
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use crate::parse::token::{self, Token, TokenKind};
1+
use crate::token::{self, Token, TokenKind};
22
use crate::sess::ParseSess;
33
use crate::symbol::{sym, Symbol};
4-
use crate::parse::unescape_error_reporting::{emit_unescape_error, push_escaped_char};
4+
use crate::util::comments;
55

66
use errors::{FatalError, DiagnosticBuilder};
77
use syntax_pos::{BytePos, Pos, Span};
@@ -16,9 +16,10 @@ use log::debug;
1616
#[cfg(test)]
1717
mod tests;
1818

19-
pub mod comments;
2019
mod tokentrees;
2120
mod unicode_chars;
21+
mod unescape_error_reporting;
22+
use unescape_error_reporting::{emit_unescape_error, push_escaped_char};
2223

2324
#[derive(Clone, Debug)]
2425
pub struct UnmatchedBrace {
@@ -178,7 +179,7 @@ impl<'a> StringReader<'a> {
178179
rustc_lexer::TokenKind::LineComment => {
179180
let string = self.str_from(start);
180181
// comments with only more "/"s are not doc comments
181-
let tok = if is_doc_comment(string) {
182+
let tok = if comments::is_line_doc_comment(string) {
182183
self.forbid_bare_cr(start, string, "bare CR not allowed in doc-comment");
183184
token::DocComment(Symbol::intern(string))
184185
} else {
@@ -191,7 +192,7 @@ impl<'a> StringReader<'a> {
191192
let string = self.str_from(start);
192193
// block comments starting with "/**" or "/*!" are doc-comments
193194
// but comments with only "*"s between two "/"s are not
194-
let is_doc_comment = is_block_doc_comment(string);
195+
let is_doc_comment = comments::is_block_doc_comment(string);
195196

196197
if !terminated {
197198
let msg = if is_doc_comment {
@@ -642,18 +643,3 @@ impl<'a> StringReader<'a> {
642643
}
643644
}
644645
}
645-
646-
fn is_doc_comment(s: &str) -> bool {
647-
let res = (s.starts_with("///") && *s.as_bytes().get(3).unwrap_or(&b' ') != b'/') ||
648-
s.starts_with("//!");
649-
debug!("is {:?} a doc comment? {}", s, res);
650-
res
651-
}
652-
653-
fn is_block_doc_comment(s: &str) -> bool {
654-
// Prevent `/**/` from being parsed as a doc comment
655-
let res = ((s.starts_with("/**") && *s.as_bytes().get(3).unwrap_or(&b' ') != b'*') ||
656-
s.starts_with("/*!")) && s.len() >= 5;
657-
debug!("is {:?} a doc comment? {}", s, res);
658-
res
659-
}

src/libsyntax/parse/lexer/tests.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ use super::*;
22

33
use crate::symbol::Symbol;
44
use crate::source_map::{SourceMap, FilePathMapping};
5-
use crate::parse::token;
5+
use crate::token;
6+
use crate::util::comments::is_doc_comment;
67
use crate::with_default_globals;
78

89
use errors::{Handler, emitter::EmitterWriter};

src/libsyntax/parse/lexer/tokentrees.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ use syntax_pos::Span;
44
use super::{StringReader, UnmatchedBrace};
55

66
use crate::print::pprust::token_to_string;
7-
use crate::parse::token::{self, Token};
8-
use crate::parse::PResult;
7+
use crate::token::{self, Token};
98
use crate::tokenstream::{DelimSpan, IsJoint::{self, *}, TokenStream, TokenTree, TreeAndJoint};
109

10+
use errors::PResult;
11+
1112
impl<'a> StringReader<'a> {
1213
crate fn into_token_trees(self) -> (PResult<'a, TokenStream>, Vec<UnmatchedBrace>) {
1314
let mut tt_reader = TokenTreesReader {

src/libsyntax/parse/lexer/unicode_chars.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
use super::StringReader;
55
use errors::{Applicability, DiagnosticBuilder};
66
use syntax_pos::{BytePos, Pos, Span, symbol::kw};
7-
use crate::parse::token;
7+
use crate::token;
88

99
#[rustfmt::skip] // for line breaks
1010
const UNICODE_ARRAY: &[(char, &str, char)] = &[

src/libsyntax/parse/mod.rs

+2-16
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22
33
use crate::ast;
44
use crate::parse::parser::{Parser, emit_unclosed_delims, make_unclosed_delims_error};
5-
use crate::parse::token::Nonterminal;
5+
use crate::token::{self, Nonterminal};
66
use crate::tokenstream::{self, TokenStream, TokenTree};
77
use crate::print::pprust;
88
use crate::sess::ParseSess;
99

10-
use errors::{FatalError, Level, Diagnostic, DiagnosticBuilder};
11-
#[cfg(target_arch = "x86_64")]
12-
use rustc_data_structures::static_assert_size;
10+
use errors::{PResult, FatalError, Level, Diagnostic};
1311
use rustc_data_structures::sync::Lrc;
1412
use syntax_pos::{Span, SourceFile, FileName};
1513

@@ -25,18 +23,6 @@ mod tests;
2523
#[macro_use]
2624
pub mod parser;
2725
pub mod lexer;
28-
pub mod token;
29-
30-
crate mod classify;
31-
crate mod literal;
32-
crate mod unescape_error_reporting;
33-
34-
pub type PResult<'a, T> = Result<T, DiagnosticBuilder<'a>>;
35-
36-
// `PResult` is used a lot. Make sure it doesn't unintentionally get bigger.
37-
// (See also the comment on `DiagnosticBuilderInner`.)
38-
#[cfg(target_arch = "x86_64")]
39-
static_assert_size!(PResult<'_, bool>, 16);
4026

4127
#[derive(Clone)]
4228
pub struct Directory<'a> {

0 commit comments

Comments
 (0)