Vadim Petrochenkov
14adc9bb63
Rename ast::Pat_ and its variants
2016-02-13 13:49:24 +03:00
Jonas Schievink
c877d61b15
Use more autoderef in libsyntax
2016-02-12 19:28:42 +01:00
Vadim Petrochenkov
77cc5764b9
Remove some unnecessary indirection from AST structures
2016-02-11 23:33:09 +03:00
Oliver 'ker' Schneider
d844bfb196
[breaking-change] don't glob export ast::Visibility variants
2016-02-11 12:34:48 +01:00
Oliver 'ker' Schneider
73fa9b2da2
[breaking-change] don't glob export ast::Mutablity variants
2016-02-11 12:34:48 +01:00
Oliver 'ker' Schneider
019614f03d
[breaking-change] don't glob export ast::Item_ variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
8290c950a8
[breaking-change] don't pub export ast::Stmt_ variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
498a2e416e
[breaking-change] don't pub export ast::IntLitType variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
69072c4f5d
[breaking-change] don't pub export ast::Lit_ variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
05d4cefd63
[breaking-change] don't pub export ast::Ty_ variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
bfa66bb389
[breaking-change] remove the sign from integer literals in the ast
2016-02-11 12:34:48 +01:00
Oliver Schneider
625e78b700
[breaking-change] don't glob export ast::{UintTy, IntTy} variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
ccf48bcd40
[breaking-change] don't glob export ast::FloatTy variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
80bf9ae18a
[breaking-change] don't glob export ast::Expr_ variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
243a30c931
[breaking-change] don't glob import/export syntax::abi enum variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
47b0784ba8
[breaking-change] don't glob export ast::BlockCheckMode variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
3b57d40fe5
[breaking-change] don't glob import ast::FunctionRetTy variants
2016-02-11 12:34:48 +01:00
Nick Cameron
0ac8915875
The war on abort_if_errors
2016-01-22 08:19:27 +13:00
Nick Cameron
b976d9e666
Implement JSON error emission
...
[breaking-change]
syntax::errors::Handler::new has been renamed to with_tty_emitter
Many functions which used to take a syntax::errors::ColorConfig, now take a rustc::session::config::ErrorOutputType. If you previously used ColorConfig::Auto as a default, you should now use ErrorOutputType::default().
2016-01-15 10:24:12 +13:00
Nick Cameron
9023c659af
Cut out a bunch of Result and panictry! boilerplate from libsyntax.
...
[breaking-change] if you use any of the changed functions, you'll need to remove a try! or panictry!
2015-12-31 14:29:02 +13:00
Nick Cameron
95dc7efad0
use structured errors
2015-12-30 14:27:59 +13:00
bors
709d00a231
Auto merge of #30460 - Ms2ger:BindingMode, r=alexcrichton
2015-12-21 19:10:51 +00:00
Ms2ger
143b9d80d0
Stop re-exporting the ast::BindingMode variants.
2015-12-20 22:15:26 +01:00
Manish Goregaokar
9e953df6f0
Rollup merge of #30420 - petrochenkov:owned2, r=nrc
...
Part of https://github.com/rust-lang/rust/pull/30095 not causing mysterious segfaults.
r? @nrc
2015-12-18 20:02:12 +05:30
Vadim Petrochenkov
0d298f9904
Deprecate name OwnedSlice and don't use it
2015-12-18 00:52:56 +03:00
Nick Cameron
a478811822
Move a bunch of stuff from Session to syntax::errors
...
The intention here is that Session is a very thin wrapper over the error handling infra.
2015-12-17 09:35:51 +13:00
Nick Cameron
6309b0f5bb
move error handling from libsyntax/diagnostics.rs to libsyntax/errors/*
...
Also split out emitters into their own module.
2015-12-17 09:35:50 +13:00
Marvin Löbel
2a8f358de7
Add syntax support for attributes on expressions and all syntax
...
nodes in statement position.
Extended #[cfg] folder to allow removal of statements, and
of expressions in optional positions like expression lists and trailing
block expressions.
Extended lint checker to recognize lint levels on expressions and
locals.
2015-11-26 21:46:12 +01:00
bors
b12a3582b1
Auto merge of #29761 - eefriedman:rename-nopanic, r=sanxiyn
...
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more
readable.
2015-11-13 10:28:25 +00:00
Eli Friedman
69210a9635
Rename _nopanic methods to remove the suffix.
...
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more
readable.
2015-11-10 16:10:31 -08:00
Seo Sanghyeon
791003ad3c
Use deref coercions
2015-11-10 20:16:28 +09:00
Oliver Schneider
fcc7067904
remove Tt prefix from TokenType variants
...
[breaking change]
2015-11-06 14:52:02 +01:00
Eli Friedman
56ba8feed6
Update libsyntax tests.
2015-10-27 20:09:10 -07:00
Eli Friedman
e5024924ad
Make fatal errors more consistent.
2015-10-27 20:09:10 -07:00
Eli Friedman
de95857129
Don't panic for fatal errors in attribute parsing.
2015-10-27 20:09:10 -07:00
Eli Friedman
c141f47c24
Delete unnecessary ParserAttr trait.
2015-10-27 20:09:10 -07:00
Eli Friedman
1dd87dcfea
Don't use panicking helpers in Parser.
2015-10-27 20:09:10 -07:00
Vadim Petrochenkov
f284cbc7af
Cleanup interfaces of Name, SyntaxContext and Ident
...
Make sure Name, SyntaxContext and Ident are passed by value
Make sure Idents don't serve as keys (or parts of keys) in maps, Ident comparison is not well defined
2015-09-24 23:05:02 +03:00
Andrew Paseltiner
85b8b447fa
Replace ast::Mac_ enum with struct
...
Closes #28527 .
2015-09-20 17:15:04 -04:00
Vadim Petrochenkov
405c616eaf
Use consistent terminology for byte string literals
...
Avoid confusion with binary integer literals and binary operator expressions in libsyntax
2015-09-03 10:54:53 +03:00
Simonas Kazlauskas
cca0ea718d
Replace illegal with invalid in most diagnostics
2015-07-29 01:59:31 +03:00
Oliver Schneider
00a5e66f81
remove get_ident and get_name, make as_str sound
2015-07-28 18:07:20 +02:00
Nick Cameron
f47d20aecd
Use a span from the correct file for the inner span of a module
...
This basically only affects modules which are empty (or only contain comments).
Closes #26755
2015-07-21 21:55:19 +12:00
Niko Matsakis
82ded3cd03
Two more small fixes.
2015-05-22 08:45:05 -04:00
Eduard Burtescu
07d4f77790
syntax: abstract over the file loading mechanism.
2015-05-14 01:47:56 +03:00
Eduard Burtescu
0d50b043f7
syntax::parse: optimize file_to_filemap to read a string directly.
2015-05-14 01:47:56 +03:00
Eduard Burtescu
6a59d1824d
syntax: replace sess.span_diagnostic.cm with sess.codemap().
2015-05-14 01:47:56 +03:00
Eduard Burtescu
f786437bd2
syntax: refactor (Span)Handler and ParseSess constructors to be methods.
2015-05-14 01:47:56 +03:00
Eduard Burtescu
6a045b9d1c
Move tracking of the next NodeId from syntax's ParseSess to rustc's Session.
2015-05-14 01:47:56 +03:00
Geoffry Song
2d9831dea5
Interpolate AST nodes in quasiquote.
...
This changes the `ToTokens` implementations for expressions, statements,
etc. with almost-trivial ones that produce `Interpolated(*Nt(...))`
pseudo-tokens. In this way, quasiquote now works the same way as macros
do: already-parsed AST fragments are used as-is, not reparsed.
The `ToSource` trait is removed. Quasiquote no longer involves
pretty-printing at all, which removes the need for the
`encode_with_hygiene` hack. All associated machinery is removed.
A new `Nonterminal` is added, NtArm, which the parser now interpolates.
This is just for quasiquote, not macros (although it could be in the
future).
`ToTokens` is no longer implemented for `Arg` (although this could be
added again) and `Generics` (which I don't think makes sense).
This breaks any compiler extensions that relied on the ability of
`ToTokens` to turn AST fragments back into inspectable token trees. For
this reason, this closes #16987 .
As such, this is a [breaking-change].
Fixes #16472 .
Fixes #15962 .
Fixes #17397 .
Fixes #16617 .
2015-04-25 21:42:10 -04:00