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