rust/src/libsyntax
bors 9f79d2f86a Auto merge of #50997 - michaelwoerister:pre-analyze-filemaps, r=Mark-Simulacrum
Make FileMap::{lines, multibyte_chars, non_narrow_chars} non-mutable.

This PR removes most of the interior mutability from `FileMap`, which should be beneficial, especially in a multithreaded setting. This is achieved by initializing the state in question when the filemap is constructed instead of during lexing. Hopefully this doesn't degrade performance.

cc @wesleywiser
2018-06-28 11:20:41 +00:00
..
diagnostics Add Ident::as_str helper 2018-05-26 15:20:23 +03:00
ext Auto merge of #50997 - michaelwoerister:pre-analyze-filemaps, r=Mark-Simulacrum 2018-06-28 11:20:41 +00:00
parse Auto merge of #50997 - michaelwoerister:pre-analyze-filemaps, r=Mark-Simulacrum 2018-06-28 11:20:41 +00:00
print inclusive range syntax lint (.....=) 2018-06-26 07:54:49 -07:00
util async await desugaring and tests 2018-06-21 22:36:36 -07:00
ast.rs inclusive range syntax lint (.....=) 2018-06-26 07:54:49 -07:00
attr.rs Fix HasAttrs support for GenericParam 2018-06-20 12:23:23 +01:00
build.rs
Cargo.toml
codemap.rs syntax_pos: Store multibyte char size as u8 instead of u32. 2018-06-27 14:00:34 +02:00
config.rs Deny #[cfg] and #[cfg_attr] on generic parameters. 2018-06-02 05:11:33 +08:00
diagnostic_list.rs Update error code numbers 2018-06-19 17:33:14 -07:00
entry.rs
feature_gate.rs Rollup merge of #51799 - mark-i-m:lower_case_feature_gate, r=mark-i-m 2018-06-28 06:15:40 +08:00
fold.rs inclusive range syntax lint (.....=) 2018-06-26 07:54:49 -07:00
json.rs Stabilize suggestion applicability field in json output 2018-05-21 10:48:12 -07:00
lib.rs expansion: Improve searchability for AstFragments methods 2018-06-23 20:09:21 +03:00
ptr.rs Remove unused map_slice 2018-06-22 12:12:53 -07:00
README.md
show_span.rs
std_inject.rs Implement #[macro_export(local_inner_macros)] 2018-06-27 13:10:16 +03:00
str.rs
test_snippet.rs Remove the now redundant CodeMap::new_filemap_with_lines() method. 2018-06-27 14:00:34 +02:00
test.rs Implement #[macro_export(local_inner_macros)] 2018-06-27 13:10:16 +03:00
tokenstream.rs Make Directory::path a Cow. 2018-05-18 22:20:33 +10:00
visit.rs async await desugaring and tests 2018-06-21 22:36:36 -07:00

The syntax crate contains those things concerned purely with syntax that is, the AST ("abstract syntax tree"), parser, pretty-printer, lexer, macro expander, and utilities for traversing ASTs.

For more information about how these things work in rustc, see the rustc guide: