summary refs log tree commit diff
path: root/src/libsyntax_pos/lib.rs
AgeCommit message (Collapse)AuthorLines
2017-12-19incr.comp.: Precompute small hash for filenames to save some work.Michael Woerister-5/+21
2017-12-15incr.comp.: Revert hashing optimization that caused regression.Michael Woerister-33/+0
2017-12-14incr.comp.: Do less hashing per Span.Michael Woerister-12/+44
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-10/+80
2017-12-06Auto merge of #45953 - estebank:tab-4, r=nikomatsakisbors-3/+12
Display `\t` in diagnostics code as four spaces Follow up to #44386 using the unicode variable width machinery from #45711 to replace tabs in the source code when displaying a diagnostic error with four spaces (instead of only one), while properly accounting for this when calculating underlines. Partly addresses #44618.
2017-12-01incr.comp.: Store Spans as (file,line,col,length) in incr.comp. cache.Michael Woerister-0/+5
The previous method ran into problems because ICH would treat Spans as (file,line,col) but the cache contained byte offsets and its possible for the latter to change while the former stayed stable.
2017-11-24Display `\t` in diagnostics code as four spacesEsteban Küber-3/+12
2017-11-03Display spans correctly when there are non-half-width charactersWonwoo Choi-4/+91
2017-10-29Optimize some span operationsVadim Petrochenkov-25/+52
Decode span data only once
2017-10-10Rollup merge of #44775 - MaloJaffre:debug-struct, r=sfacklerkennytm-2/+5
Refactor to use `debug_struct` in several Debug impls Also use `pad` and derive `Debug` for `Edge`. Fixes #44771.
2017-10-09Refactor to use `debug_struct` in several Debug implsMalo Jaffré-2/+5
Fixes #44771.
2017-10-03Rename FileMap::path and change to an OptionPhilip Craig-5/+6
2017-09-30Don't use remapped path when loading modules and include filesPhilip Craig-0/+6
2017-09-23Compress "small" spans to 32 bits and intern "large" spansVadim Petrochenkov-26/+38
2017-09-09Add `impl From<Vec<Span>> for MultiSpan`.Sergio Benitez-0/+6
2017-09-03enable desugaring-sensitive error messages and use them in TryAriel Ben-Yehuda-0/+12
Maybe I should allow error messages to check the *specific* desugaring? Thanks @huntiep for the idea!
2017-08-30Make fields of `Span` public againVadim Petrochenkov-3/+15
This helps to avoid landing changes to rustc and rustfmt in one step
2017-08-30Normalize order of `lo` and `hi` in `Span::new`Vadim Petrochenkov-1/+1
2017-08-30Make fields of `Span` privateVadim Petrochenkov-51/+69
2017-08-25*: remove crate_{name,type} attributesTamir Duberstein-3/+0
Fixes #41701.
2017-08-18Auto merge of #43832 - huntiep:compiler-desugaring-enum, r=nikomatsakisbors-1/+12
Implement CompilerDesugaringKind enum This is the first step outlined in #35946. I think that the variants of `CompilerDesugaringKind` should be changed, I didn't know what the official names for `...` and `<-` are. I'm not to sure how tests for the compiler work, but I would imagine that tests should be added such that `Symbol::intern(s) == CompilerDesugaringKind::from(s).as_symbol()` for valid `s`.
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-15/+15
Like #43008 (f668999), but _much more aggressive_.
2017-08-12Implement CompilerDesugaringKind enumHunter Praska-1/+12
2017-08-12syntax: #[allow_internal_unsafe] bypasses the unsafe_code lint in macros.Eduard-Mihai Burtescu-0/+10
2017-08-01syntax: avoid loading the same source-file multiple timesAriel Ben-Yehuda-1/+4
We already had a cache for file contents, but we read the source-file before testing the cache, causing obvious slowness, so this just avoids loading the source-file when the cache already has the contents.
2017-07-27Give span to angle bracketed generic argumentsVadim Petrochenkov-0/+6
2017-07-23Fix some doc/comment typos.Bruce Mitchener-1/+1
2017-07-21Review commentsEsteban Küber-21/+10
2017-07-20Use the macro structure spans instead of the invocationEsteban Küber-4/+24
2017-06-26Simplify `hygiene::Mark` application, andJeffrey Seyfried-1/+1
remove variant `Token::SubstNt` in favor of `quoted::TokenTree::MetaVar`.
2017-06-19Bump version and stage0 compilerAlex Crichton-6/+2
2017-06-12External spans: address review.Inokentiy Babushkin-15/+20
* The lazy loading mechanism has been moved to a more appropriate place. * Return values from the functions invoked there are properly used. * Documentation has gotten some minor improvements. * Possibly some larger restructuring will need to take place still.
2017-06-11Added hash verification to external source loading.Inokentiy Babushkin-0/+20
2017-06-11Added consumption logic for external sources in FileMapInokentiy Babushkin-18/+28
We now fetch source lines from the `external_src` member as a secondary fallback if no regular source is present, that is, if the file map belongs to an external crate and the source has been fetched from disk.
2017-06-11Improved lazy external source loading and inserted calls.Inokentiy Babushkin-1/+22
2017-06-10Added external crates' sources to FileMap.Inokentiy Babushkin-0/+13
They are now handled in their own member to prevent mutating access to the `src` member. This way, we can safely load external sources, while keeping the mutation of local source strings off-limits.
2017-06-10Moved FileMap construction to it's own constructor.Inokentiy Babushkin-0/+37
The rationale is that BOM stripping is needed for lazy source loading for external crates, and duplication can be avoided by moving the corresponding functionality to libsyntax_pos.
2017-06-10Added source hashes to FileMapInokentiy Babushkin-3/+10
We can use these to perform lazy loading of source files belonging to external crates. That way we will be able to show the source code of external spans that have been translated.
2017-05-11rustc: Remove #![unstable] annotationAlex Crichton-3/+4
These are now no longer necessary with `-Z force-unstable-if-unmarked`
2017-05-09Add INVALID_CRATE CrateNum constant.Michael Woerister-1/+3
2017-05-08incr.comp.: Hash more pieces of crate metadata to detect changes there.Michael Woerister-0/+4
2017-04-26Implement a file-path remapping feature in support of debuginfo and ↵Michael Woerister-6/+7
reproducible builds.
2017-04-10Point at only one char on `Span::next_point`Esteban Küber-1/+1
Avoid pointing at two chars so the diagnostic output doesn't display a multiline span when starting beyond a line end.
2017-04-05Rollup merge of #40815 - estebank:issue-40006, r=GuillaumeGomezAriel Ben-Yehuda-0/+24
Identify missing item category in `impl`s ```rust struct S; impl S { pub hello_method(&self) { println!("Hello"); } } fn main() { S.hello_method(); } ``` ```rust error: missing `fn` for method declaration --> file.rs:3:4 | 3 | pub hello_method(&self) { | ^ missing `fn` ``` Fix #40006. r? @pnkfelix CC @jonathandturner @GuillaumeGomez
2017-04-04Merge branch 'master' into issue-32540Esteban Küber-37/+87
2017-04-03Merge branch 'master' into issue-40006Esteban Küber-36/+110
2017-03-29Refactor how spans are combined in the parser.Jeffrey Seyfried-6/+10
2017-03-29Merge `ExpnId` and `SyntaxContext`.Jeffrey Seyfried-27/+74
2017-03-29Remove code in `syntax::codemap`.Jeffrey Seyfried-4/+0
2017-03-29Move `syntax::ext::hygiene` to `syntax_pos::hygiene`.Jeffrey Seyfried-0/+3