1
Fork 0
Commit graph

381 commits

Author SHA1 Message Date
Esteban Küber
fed4fcb318 "incompatible arm" diagnostic span tweak
Use span label instead of span note for single line spans in
"incompatible arm" diagnostic.
2017-12-25 09:47:22 -08:00
Michael Woerister
0258c6daca incr.comp.: Precompute small hash for filenames to save some work. 2017-12-19 15:27:50 +01:00
Michael Woerister
c7e5b703cd incr.comp.: Revert hashing optimization that caused regression. 2017-12-15 16:50:07 -06:00
Michael Woerister
0b4c2cccac incr.comp.: Do less hashing per Span. 2017-12-14 10:29:16 -06:00
Oliver Schneider
d732da813b
Use PathBuf instead of String where applicable 2017-12-14 11:22:08 +01:00
bors
f9b0897c5d Auto merge of #46381 - estebank:expected-span, r=nikomatsakis
Point to next token when it is in the expected line

r? @nikomatsakis
2017-12-02 20:06:42 +00:00
Michael Woerister
45439945c9 incr.comp.: Store Spans as (file,line,col,length) in incr.comp. cache.
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-12-01 13:48:19 +01:00
Esteban Küber
fe89740957 Point to next token when it is in the expected line 2017-11-29 13:28:47 -08:00
Wonwoo Choi
272c2faa1d Display spans correctly when there are non-half-width characters 2017-11-03 03:15:39 +09:00
Michael Woerister
f55425dfcd incr.comp.: Implement query diagnostic persistence. 2017-10-25 15:43:48 +02:00
Zack M. Davis
f98939c6fd code suggestion for non-shorthand field patterns lint
We also edit the lint description to clarify that this is different from
the struct field init shorthand.
2017-10-16 11:19:18 -07:00
Philip Craig
3a225c77bb Rename FileMap::path and change to an Option 2017-10-03 19:47:33 +10:00
Philip Craig
c27a82f193 Don't use remapped path when loading modules and include files 2017-09-30 16:32:45 +10:00
Vadim Petrochenkov
3da868dcb6 Make fields of Span private 2017-08-30 01:38:54 +03:00
Zack M. Davis
1b6c9605e4 use field init shorthand EVERYWHERE
Like #43008 (f668999), but _much more aggressive_.
2017-08-15 15:29:17 -07:00
Bastien Orivel
3ab86fbab2 Fix some typos 2017-08-12 14:01:11 +02:00
Ariel Ben-Yehuda
c9d14a846f syntax: avoid loading the same source-file multiple times
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-08-01 14:18:49 +03:00
Inokentiy Babushkin
d11973ae2a
External spans: added lazy source loading elsewhere
* In other places where the `src` member of a file map is accessed, we
  now load and possibly work with external source as well.
2017-06-12 21:47:39 +02:00
Inokentiy Babushkin
271133b03e
External spans: address review.
* 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-12 15:37:26 +02:00
Inokentiy Babushkin
afe841587d
External spans: fixed unit tests and addressed review. 2017-06-11 16:45:51 +02:00
Inokentiy Babushkin
9a8bbe9da9
Added hash verification to external source loading. 2017-06-11 13:48:54 +02:00
Inokentiy Babushkin
c04aa4ed0c
Improved lazy external source loading and inserted calls. 2017-06-11 11:47:00 +02:00
Inokentiy Babushkin
c2c31b2db3
Added external crates' sources to FileMap.
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-10 21:08:32 +02:00
Inokentiy Babushkin
dd8f7cd126
Moved FileMap construction to it's own constructor.
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-10 16:09:51 +02:00
Inokentiy Babushkin
3d2cff0c94
Added source hashes to FileMap
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-06-10 13:39:39 +02:00
Esteban Küber
4142d7bb89 Use callsite's span for macro calls on suggestion
When suggesting an appropriate mutability for a macro call, use the call
span instead of the expanded macro's span.
2017-05-31 23:48:19 -07:00
Michael Woerister
21dd71f514 incr.comp.: Track expanded spans instead of FileMaps. 2017-05-23 18:20:51 +02:00
Andre Bogus
a9c163ebe9 Fix some clippy warnings in libsyntax
This is mostly removing stray ampersands, needless returns and lifetimes.
2017-05-12 20:05:39 +02:00
Michael Woerister
6a5e2a5a9e incr.comp.: Hash more pieces of crate metadata to detect changes there. 2017-05-08 12:31:26 +02:00
Michael Woerister
39ffea31df Implement a file-path remapping feature in support of debuginfo and reproducible builds. 2017-04-26 15:44:02 +02:00
Esteban Küber
439ff69d90 Add a way to get shorter spans until char for pointing at defs
```rust
error[E0072]: recursive type `X` has infinite size
  --> file.rs:10:1
   |
10 | struct X {
   | ^^^^^^^^ recursive type has infinite size
   |
   = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `X` representable
```

vs

```rust
error[E0072]: recursive type `X` has infinite size
  --> file.rs:10:1
   |
10 |   struct X {
   |  _^ starting here...
11 | |     x: X,
12 | | }
   | |_^ ...ending here: recursive type has infinite size
   |
   = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `X` representable
```
2017-04-12 01:10:48 -07:00
Jeffrey Seyfried
f08d5ad4c5 Refactor how spans are combined in the parser. 2017-03-29 11:17:59 +00:00
Jeffrey Seyfried
ec7c0aece1 Merge ExpnId and SyntaxContext. 2017-03-29 00:41:10 +00:00
Jeffrey Seyfried
496996c2af Remove code in syntax::codemap. 2017-03-29 00:41:10 +00:00
Jeffrey Seyfried
2dc60b1180 Refactor TokenStream. 2017-01-22 21:37:38 +00:00
Eduard Burtescu
f97c132cac rustc: use Span's allow_internal_unstable instead of hir::BlockCheckMode. 2016-11-28 04:18:10 +02:00
Jeffrey Seyfried
a8e86f0f81 Fix fallout in rustdoc and tests. 2016-11-21 12:16:46 +00:00
Nicholas Nethercote
2747923c27 Rename Parser::last_span as prev_span.
This is a [breaking-change] for libsyntax.
2016-10-05 08:53:18 +11:00
Jonathan Turner
e4b18422ad Check for overlapping and simplify unit test 2016-09-20 15:39:05 -07:00
Jonathan Turner
2ea3ab3a90 Add the ability to merge spans to codemap 2016-09-19 12:31:56 -07:00
Michael Woerister
e355ec1c6a incr.comp.: Add stable hashing of HIR spans to ICH. 2016-09-01 09:43:44 -04:00
cgswords
dc259de2e3 Reimplemented tokenstreams as ropes and reduced the exposed TokenStream API. 2016-08-01 10:42:22 -07:00
Jonathan Turner
01c87d7763 Remove more unused imports 2016-07-14 13:25:06 -04:00
Jonathan Turner
c38d5df4a2 Remove unused imports 2016-07-14 10:36:23 -04:00
Jonathan Turner
a9dfac8725 Add back in import needed for codemap tests 2016-07-14 09:02:48 -04:00
Jonathan Turner
1fd014a965 Add fix for tabs. Move error unit tests->ui tests 2016-07-14 07:57:46 -04:00
Jonathan Turner
012ff15c94 Fix up some tidy-unfriendly spacing 2016-07-14 07:57:46 -04:00
Jonathan Turner
2f2c3e1783 DCE and fixing some internal tests 2016-07-14 07:57:46 -04:00
Jonathan Turner
8f044fae36 Remove BasicEmitter 2016-07-14 07:57:46 -04:00
Jonathan Turner
9f2a50785b Fix codemap tests to not double import 2016-06-24 13:20:23 -04:00