summary refs log tree commit diff
path: root/src/libsyntax_pos/lib.rs
AgeCommit message (Collapse)AuthorLines
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
2017-03-27Fix unittestsEsteban Küber-2/+2
2017-03-25Improve wording and spans for unexpected tokenEsteban Küber-0/+6
* Point at where the token was expected instead of the last token successfuly parsed. * Only show `unexpected token` if the next char and the unexpected token don't have the same span. * Change some cfail and pfail tests to ui test. * Don't show all possible tokens in span label if they are more than 6.
2017-02-02store typeck lints in the `TypeckTables`Niko Matsakis-1/+1
Otherwise they are a "hidden output"
2016-12-29Remove not(stage0) from deny(warnings)Alex Crichton-1/+1
Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2016-11-30Update the bootstrap compilerAlex Crichton-1/+0
Now that we've got a beta build, let's use it!
2016-11-08Group unused import warnings per path listEsteban Küber-3/+3
Given a file ```rust use std::collections::{BinaryHeap, BTreeMap, BTreeSet}; fn main() {} ``` Show a single warning, instead of three for each unused import: ```nocode warning: unused imports, #[warn(unused_imports)] on by default --> foo.rs:1:24 | 1 | use std::collections::{BinaryHeap, BTreeMap, BTreeSet}; | ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ``` Include support for lints pointing at `MultilineSpan`s, instead of just `Span`s.
2016-11-01retool EarlyLint to track a DiagnosticNiko Matsakis-1/+1