Camille GILLOT
ed640c6a27
Merge hir::Mutability into ast::Mutability.
2019-11-10 12:21:05 +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
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
9d6768a478
syntax::parser::token -> syntax::token
2019-11-07 13:50:12 +01:00
Mazdak Farrokhzad
55f76cdb2f
syntax: use distinct FloatTy from rustc_target.
...
We also sever syntax's dependency on rustc_target as a result.
This should slightly improve pipe-lining.
Moreover, some cleanup is done in related code.
2019-11-07 05:25:31 +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
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
Nicholas Nethercote
b9cef6984b
Simplify various Symbol
use points.
...
Including removing a bunch of unnecessary `.as_str()` calls, and a bunch
of unnecessary sigils.
2019-11-02 09:01:02 +11:00
Igor Aleksanov
ae5203a142
libsyntax: Document ast module
...
Apply review suggestions
Remove links in the module docs
Flatten imports
Apply review suggestions
Remove useless comments
Fix nits
2019-10-26 06:56:11 +03:00
flip1995
76f9b3b4c9
Readd some PartialEq and Hash derives used by Clippy
2019-10-22 19:11:28 +00:00
Nicholas Nethercote
ac6daed384
Remove many unnecessary trait derivations.
2019-10-21 20:59:18 +11:00
Mazdak Farrokhzad
55f3c2d59a
ast: use more direct imports
2019-10-16 10:59:53 +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
Mazdak Farrokhzad
d131abefc3
ast: don't use pprust in Debug
2019-10-13 06:53:55 +02:00
Vadim Petrochenkov
6ea4a52f47
Address review comments
2019-10-01 01:10:12 +03:00
Vadim Petrochenkov
535d4743a4
syntax: Split ast::Attribute
into container and inner parts
2019-09-30 22:36:25 +03:00
csmoe
64f61c7888
remove indexed_vec re-export from rustc_data_structures
2019-09-29 16:48:31 +00:00
Eduard-Mihai Burtescu
8a9d775888
syntax: don't keep a redundant c_variadic flag in the AST.
2019-09-28 17:38:59 +03: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
17726f6b52
Rename Lit.node
to Lit.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
b4ef99f4a6
Print visibility of macro
items
2019-09-15 10:22:13 +01:00
Caio
63a5f399ae
Resolve attributes in several places
...
Arm, Field, FieldPat, GenericParam, Param, StructField and Variant
2019-09-09 09:27:15 -03: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
a7db1a4861
or-patterns: address review comments.
2019-09-05 08:33:09 +02:00
Mazdak Farrokhzad
ca968a10d8
or-patterns: syntax: simplify Arm.pats
and ExprKind::Let.0
.
2019-09-05 08:33:09 +02:00
Mazdak Farrokhzad
70cae78387
resolve: already-bound-check: account for or-patterns.
...
Also document `ast::Pat::walk`.
2019-09-05 08:33:09 +02:00
Kevin Per
e0ce9f8c0a
Cleanup: Consistently use Param
instead of Arg
#62426
2019-08-27 14:07:41 +02:00
bors
fc8765d6d8
Auto merge of #61708 - dlrobertson:or-patterns-0, r=centril
...
Initial implementation of or-patterns
An incomplete implementation of or-patterns (e.g. `Some(0 | 1)` as a pattern). This patch set aims to implement initial parsing of `or-patterns`.
Related to: #54883
CC @alexreg @varkor
r? @Centril
2019-08-18 01:02:20 +00:00
Dan Robertson
1870537f27
initial implementation of or-pattern parsing
...
Initial implementation of parsing or-patterns e.g., `Some(Foo | Bar)`.
This is a partial implementation of RFC 2535.
2019-08-17 15:55:40 +00:00
varkor
1713ac4bf5
Initial implementation of or patterns
2019-08-17 15:05:36 +00:00
Matthew Jasper
d04af194fc
Remove SyntaxContext from {ast, hir}::{GlobalAsm, InlineAsm}
...
We now store it in the `Span` of the expression or item.
2019-08-17 09:12:32 +01:00
Vadim Petrochenkov
a6182711ef
Remove Spanned
from {ast,hir}::FieldPat
2019-08-15 12:31:50 +03:00
Vadim Petrochenkov
433b1e36e1
Remove Spanned
from ast::Mac
2019-08-15 11:45:28 +03:00
Vadim Petrochenkov
73d2da0894
Remove Spanned
from mk_name_value_item_str
and expr_to_spanned_string
2019-08-15 11:44:22 +03:00
Mazdak Farrokhzad
ad44d42750
Rollup merge of #63543 - c410-f3r:variant, r=c410-f3r
...
Merge Variant and Variant_
Extracted from #63468 .
2019-08-14 22:56:29 +02:00
Caio
6a42b0b28d
Merge Variant and Variant_
2019-08-14 14:47:01 -03:00
Caio
9348af8396
Add NodeId for Arm, Field and FieldPat
2019-08-13 22:42:10 -03:00
Mark Rousskov
fbf93d4931
Remove leftover AwaitOrigin
...
This was missed in PR #62293 .
2019-08-05 09:14:51 -04:00
bors
d3f8a0b5df
Auto merge of #63213 - varkor:itemkind-tyalias, r=Centril
...
Rename `ItemKind::Ty` to `ItemKind::TyAlias`
The current name is not entirely clear without context and `TyAlias` is consistent with `ItemKind::TraitAlias`.
2019-08-04 20:03:28 +00:00
varkor
63659ca9f6
Rename ItemImplKind::Type
to ItemImplKind::TyAlias
2019-08-04 20:16:41 +01:00