Nicholas Nethercote
69bc4aba78
Remove unnecessary Deref
impl for Attribute
.
...
This kind of thing just makes the code harder to read.
2019-11-06 23:01:02 +11:00
Mazdak Farrokhzad
fb12c70852
rustc, rustc_passes: don't depend on syntax_expand.
...
This is done by moving some data definitions to syntax::expand.
2019-10-27 17:05:57 +01:00
wangxiangqing
c027be0dd0
Deprecated proc_macro doesn't trigger warning on build library
...
Change-Id: Ib3a396e7334d209fe6c6ef425bbfc7b2ae471378
2019-10-22 08:47:52 +08:00
wangxiangqing
33910f9d86
Deprecated proc_macro doesn't trigger warning on build library
...
Change-Id: Ib3a396e7334d209fe6c6ef425bbfc7b2ae471378
2019-10-22 00:08:14 +08:00
Mazdak Farrokhzad
d420d719c4
move syntax::ext to new crate syntax_expand
2019-10-16 10:59:53 +02:00
Mazdak Farrokhzad
ae156a56d4
syntax::parse::sess -> syntax::sess
2019-10-15 09:41:58 +02:00
Mazdak Farrokhzad
742ec4b9bf
ast: remove implicit pprust dependency via Display.
...
Instead just use `pprust::path_to_string(..)` where needed.
This has two benefits:
a) The AST definition is now independent of printing it.
(Therefore we get closer to extracting a data-crate.)
b) Debugging should be easier as program flow is clearer.
2019-10-13 06:58:51 +02:00
varkor
7bc94cc3c2
Rename Item.node
to Item.kind
2019-09-26 18:21:48 +01:00
Aaron Hill
3daa8bd2e4
Generate proc macro harness in AST order.
...
This ensures that we match the order used by proc macro metadata
serialization.
Fixes #64251
2019-09-17 19:10:10 -04:00
Matthew Jasper
5ae3830d58
Give more Idents
spans
2019-09-15 09:15:38 +01:00
Matthew Jasper
3f3fc52bfa
Simplify std lib injection
2019-09-05 22:48:03 +01:00
Vadim Petrochenkov
c8cf9f5a02
Add with_{def_site,call_site,legacy}_ctxt,
methods to Span
...
Use these to create call-site spans for AST passes when needed.
2019-09-05 15:07:17 +01:00
Matthew Jasper
6fcdb36ccb
Make use of hygiene in AST passes
2019-09-05 15:07:16 +01: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
1a447738b8
hygiene: Merge ExpnInfo
and InternalExpnData
2019-08-15 20:41:45 +03:00
Vadim Petrochenkov
6cb28b6617
Ident::with_empty_ctxt
-> Ident::with_dummy_span
...
`Ident` has had a full span rather than just a `SyntaxContext` for a long time now.
2019-08-15 20:39:26 +03:00
Vadim Petrochenkov
d416ebeb6e
expand: Unimplement MutVisitor
on MacroExpander
...
Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't be hide under a generic visitor call.
Also, from all the implemented visitor methods only two were actually used.
2019-08-14 02:35:01 +03:00
Mark Rousskov
0f985817bd
Replace AstBuilder with inherent methods
2019-07-31 08:55:37 -04:00
Mark Rousskov
b2c5065b04
Remove Span argument from ExtCtxt::attribute
...
MetaItem.span was always equivalent
2019-07-31 08:55:37 -04:00
Vadim Petrochenkov
b5a0e6ea80
syntax_ext: proc_macro_decls
-> proc_macro_harness
...
Few other minor renamings for consistency.
Remove one unused dependency from `rustc_passes`.
Fix libsyntax tests.
Fix rebase.
2019-07-27 14:16:16 +03:00