Vadim Petrochenkov
d1310dc6c9
proc_macro: Add Span::mixed_site
exposing macro_rules
hygiene
2019-10-03 11:28:06 +03:00
Mark Rousskov
2a3930d43c
Privatize DiagnosticBuilder constructors
2019-09-17 09:30:44 -04:00
Aleksey Kladov
206fe8e1c3
flatten rustc_lexer::character_properties module
...
On the call site, `rustc_lexer::is_whitespace` reads much better than
`character_properties::is_whitespace`.
2019-09-04 15:13:29 +03:00
Aleksey Kladov
a0c186c34f
remove XID and Pattern_White_Space unicode tables from libcore
...
They are only used by rustc_lexer, and are not needed elsewhere.
So we move the relevant definitions into rustc_lexer (while the actual
unicode data comes from the unicode-xid crate) and make the rest of
the compiler use it.
2019-09-04 13:11:11 +03:00
Vadim Petrochenkov
c476b55e52
proc_macro: Update Span::def_site
to use the proc macro definition location
...
Which is no longer dummy and is available from metadata now.
2019-08-27 01:34:10 +03:00
Vadim Petrochenkov
0fb01d219c
Audit uses of apply_mark
in built-in macros
...
Replace them with equivalents of `Span::{def_site,call_site}` from proc macro API.
The new API is much less error prone and doesn't rely on macros having default transparency.
2019-08-23 01:44:33 +03:00
Vadim Petrochenkov
136db2235a
hygiene: ExpnInfo
-> ExpnData
...
For naming consistency with everything else in this area
2019-08-15 20:41:45 +03:00
Vadim Petrochenkov
73dee258c1
hygiene: Remove Option
s from functions returning ExpnInfo
...
The expansion info is not optional and should always exist
2019-08-15 20:39:27 +03:00
Vadim Petrochenkov
67d6ce4206
syntax_pos: NO_EXPANSION
/SyntaxContext::empty()
-> SyntaxContext::root()
...
For consistency with `ExpnId::root`.
Also introduce a helper `Span::with_root_ctxt` for creating spans with `SyntaxContext::root()` context
2019-08-15 20:38:12 +03:00
Aleksey Kladov
58ac81a60f
add unknown token
2019-08-05 13:15:11 +03:00
Vadim Petrochenkov
4ad0daa220
Move proc macro server into libsyntax
2019-07-27 13:55:25 +03:00