Commit Graph

1416 Commits

Author SHA1 Message Date
Vadim Petrochenkov
70f1d57048 Rename syntax_pos to rustc_span in source code 2020-01-01 09:15:18 +03:00
varkor
35979a92bf Add span information to ExprKind::Assign 2019-12-23 11:20:13 +00:00
Mark Rousskov
a06baa56b9 Format the world 2019-12-22 17:42:47 -05:00
Mazdak Farrokhzad
a7aec3f207 1. ast::Mutability::{Mutable -> Mut, Immutable -> Not}.
2. mir::Mutability -> ast::Mutability.
2019-12-20 22:22:44 +01:00
Mazdak Farrokhzad
e52f902a8a AssocImplKind::{Method -> Fn}. 2019-12-12 18:05:05 +01:00
Mazdak Farrokhzad
9193d7a07e Unify associated item pretty printing. 2019-12-12 17:54:49 +01:00
Mazdak Farrokhzad
34d91709b6 parse: refactor fun ret ty & param ty 2019-12-12 17:54:49 +01:00
Mazdak Farrokhzad
39073767a4 Unify {Trait,Impl}ItemKind::TyAlias structures. 2019-12-12 17:54:48 +01:00
Mazdak Farrokhzad
c02fd31302 TraitItemKind::Type -> TraitItemKind::TyAlias. 2019-12-12 17:54:48 +01:00
Mazdak Farrokhzad
f6403c6c76 Use Option in ImplItemKind::Method. 2019-12-12 17:54:48 +01:00
Mazdak Farrokhzad
73557faed2 Use Option in ImplItemKind::Const. 2019-12-12 17:54:48 +01:00
Mazdak Farrokhzad
c4bbe9cbbe Alias TraitItem & ImplItem.
Allow defaultness on trait items syntactically.
2019-12-12 17:54:48 +01:00
Mazdak Farrokhzad
e9840d94b9 Print the visibility in print_variant. 2019-12-07 05:59:41 +01:00
varkor
9f1269f23c Rename to then_some and then 2019-12-06 12:24:54 +00:00
varkor
e3a8ea4e18 Use to_option in various places 2019-12-06 12:23:23 +00:00
Vadim Petrochenkov
537895535d syntax: Use ast::MacArgs for macro definitions 2019-12-02 21:56:34 +03:00
Vadim Petrochenkov
1a496f3379 syntax: Use ast::MacArgs for attributes 2019-12-02 21:56:34 +03:00
Vadim Petrochenkov
0fac56717a syntax: Remove redundant span from ast::Mac
Also remove a couple of redundant `visit_mac` asserts
2019-12-02 21:56:34 +03:00
Vadim Petrochenkov
a81804b4d5 syntax: Introduce a struct MacArgs for macro arguments 2019-12-02 21:56:34 +03:00
Matthew Jasper
a8efd31f2b Add raw address of expressions to the AST and HIR 2019-11-24 18:06:13 +00:00
Vadim Petrochenkov
00bc449602 ast: Keep string literals in ABIs precisely 2019-11-16 21:21:37 +03:00
Vadim Petrochenkov
266f547127 ast: Keep extern qualifiers in functions more precisely 2019-11-16 21:21:37 +03:00
Mazdak Farrokhzad
6a49b523be TAIT: remove OpaqueTy in AST. 2019-11-14 13:40:42 +01:00
Mazdak Farrokhzad
4ae2728fa8 move syntax::parse -> librustc_parse
also move MACRO_ARGUMENTS -> librustc_parse
2019-11-10 03:57:18 +01:00
Mazdak Farrokhzad
be023ebe85 move config.rs to libsyntax_expand 2019-11-10 02:46:17 +01:00
Mazdak Farrokhzad
b4c6abcf9e ast::ItemKind::Fn: use ast::FnSig 2019-11-08 09:32:20 +01:00
Mazdak Farrokhzad
2cd48e8a3b ast::MethodSig -> ast::FnSig 2019-11-08 09:32:20 +01:00
Mazdak Farrokhzad
27f97aa468 move syntax::parse::lexer::comments -> syntax::util::comments 2019-11-07 13:59:13 +01:00
Mazdak Farrokhzad
255b12a8d3 move parse::classify -> util::classify 2019-11-07 13:59:13 +01:00
Mazdak Farrokhzad
9d6768a478 syntax::parser::token -> syntax::token 2019-11-07 13:50:12 +01:00
Mazdak Farrokhzad
beddf67a4b parser: don't hardcode ABIs into grammar 2019-11-07 05:25:31 +01:00
Nicholas Nethercote
eea6f23a0e Make doc comments cheaper with AttrKind.
`AttrKind` is a new type with two variants, `Normal` and `DocComment`. It's a
big performance win (over 10% in some cases) because `DocComment` lets doc
comments (which are common) be represented very cheaply.

`Attribute` gets some new helper methods to ease the transition:
- `has_name()`: check if the attribute name matches a single `Symbol`; for
  `DocComment` variants it succeeds if the symbol is `sym::doc`.
- `is_doc_comment()`: check if it has a `DocComment` kind.
- `{get,unwrap}_normal_item()`: extract the item from a `Normal` variant;
  panic otherwise.

Fixes #60935.
2019-11-06 23:05:07 +11:00
Nicholas Nethercote
5bc7084f7e Convert x.as_str().to_string() to x.to_string() where possible. 2019-11-02 09:01:00 +11:00
Mazdak Farrokhzad
ae156a56d4 syntax::parse::sess -> syntax::sess 2019-10-15 09:41:58 +02:00
Mazdak Farrokhzad
16266a5405 pprust: p1@p2 -> p1 @ p2 2019-10-14 18:12:04 +02:00
Vadim Petrochenkov
957986d056 syntax: Support modern attribute syntax in the meta matcher 2019-09-30 22:58:22 +03:00
nathanwhit
d35f25cf96 Filter out stmts made for the redundant_semicolon lint when pretty-printing 2019-09-27 21:06:10 -04:00
varkor
38121173e2 Rename MetaItem.node to MetaItem.kind 2019-09-26 18:21:48 +01:00
varkor
b474867961 Rename ForeignItem.node to ForeignItem.kind 2019-09-26 18:21:48 +01:00
varkor
7bc94cc3c2 Rename Item.node to Item.kind 2019-09-26 18:21:48 +01:00
varkor
21bf983acb Rename Stmt.node to Stmt.kind 2019-09-26 18:21:10 +01:00
varkor
c3d8791373 Rename Ty.node to Ty.kind 2019-09-26 18:21:10 +01:00
varkor
d4573c9c1e Rename TraitItem.node to TraitItem.kind 2019-09-26 18:21:09 +01:00
varkor
ce6aabbaa1 Rename ImplItem.node to ImplItem.kind 2019-09-26 18:21:09 +01:00
varkor
8bd0382134 Rename Pat.node to Pat.kind 2019-09-26 18:21:09 +01:00
varkor
95f6d72a60 Rename Expr.node to Expr.kind
For both `ast::Expr` and `hir::Expr`.
2019-09-26 18:21:09 +01:00
Matthew Jasper
3c2fd1a72d Print syntax contexts and marks when printing hygiene information 2019-09-17 21:23:33 +01:00
Matthew Jasper
b4ef99f4a6 Print visibility of macro items 2019-09-15 10:22:13 +01:00
Alexander Regueiro
49d2fd1725 Aggregation of cosmetic changes made during work on REPL PRs: libsyntax 2019-09-07 16:29:04 +01:00
Mazdak Farrokhzad
db493ef613 Rollup merge of #63919 - matthewjasper:remove-gensymmed, r=petrochenkov
Use hygiene for AST passes

AST passes are now able to have resolve consider their expansions as if they were opaque macros defined either in some module in the current crate, or a fake empty module with `#[no_implicit_prelude]`.

* Add an ExpnKind for AST passes.
* Remove gensyms in AST passes.
* Remove gensyms in`#[test]`, `#[bench]` and `#[test_case]`.
* Allow opaque macros to define tests.
* Move tests for unit tests to their own directory.
* Remove `Ident::{gensym, is_gensymed}` - `Ident::gensym_if_underscore` still exists.

cc #60869, #61019

r? @petrochenkov
2019-09-07 08:06:04 +02:00