about summary refs log tree commit diff
path: root/src/libsyntax/parse/mod.rs
AgeCommit message (Collapse)AuthorLines
2016-08-07Turn on new errors, json mode. Remove duplicate unicode testJonathan Turner-1/+0
2016-08-01Reimplemented tokenstreams as ropes and reduced the exposed TokenStream API.cgswords-1/+1
2016-07-17Auto merge of #34829 - cgswords:tstream, r=nrcbors-1/+9
Added tokenstream parser procedure A tiny PR that simply adds a procedure for parsing `TokenStream`s to the parser in `src/libsyntax`. This is to ease using `TokenStream`s with the current (old) procedural macro system.
2016-07-15Added tokenstream parser procedurecgswords-1/+9
2016-07-14Remove BasicEmitterJonathan Turner-1/+5
2016-07-04Revert "Change `fold_tt` and `fold_tts` to take token trees by value ↵Jeffrey Seyfried-7/+8
(instead of by reference)" This reverts commit 5bf7970ac70b4e7781e7b2f3816720aa62fac6fd.
2016-06-26Rollup merge of #34436 - jseyfried:no_block_expr, r=eddybJeffrey Seyfried-1/+0
To allow these braced macro invocation, this PR removes the optional expression from `ast::Block` and instead uses a `StmtKind::Expr` at the end of the statement list. Currently, braced macro invocations in blocks can expand into statements (and items) except when they are last in a block, in which case they can only expand into expressions. For example, ```rust macro_rules! make_stmt { () => { let x = 0; } } fn f() { make_stmt! {} //< This is OK... let x = 0; //< ... unless this line is commented out. } ``` Fixes #34418.
2016-06-26Rollup merge of #34339 - jseyfried:thin_vec, r=petrochenkov,ManishearthJeffrey Seyfried-6/+7
Generalize and abstract `ThinAttributes` to `ThinVec<Attribute>`.
2016-06-26Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddybJeffrey Seyfried-6/+6
Refactor away `ast::Decl`, refactor `ast::Stmt`, and rename `ast::ExprKind::Again` to `ast::ExprKind::Continue`.
2016-06-26Rollup merge of #33943 - jseyfried:libsyntax_cleanup, r=nrcJeffrey Seyfried-10/+9
Miscellaneous low priority cleanup in `libsyntax`.
2016-06-26Rollup merge of #34385 - cgswords:tstream, r=nrcJeffrey Seyfried-8/+10
syntax-[breaking-change] cc #31645 (Only breaking because ast::TokenTree is now tokenstream::TokenTree.) This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566).
2016-06-24Add `ecx.stmt_semi()` and fix issues with the pretty-printerJeffrey Seyfried-1/+0
2016-06-23Address more travis errorsJonathan Turner-1/+2
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-5/+6
2016-06-21Refactored tokentrees into their own files in preparation for tokenstreams. ↵cgswords-8/+10
Modified tests to point to the new file now.
2016-06-19Generalize and abstract `ThinAttributes`Jeffrey Seyfried-6/+7
2016-06-17Fix falloutJeffrey Seyfried-6/+6
2016-06-16Add an abs_path member to FileMap, use it when writing debug info.Ted Mielczarek-1/+1
When items are inlined from extern crates, the filename in the debug info is taken from the FileMap that's serialized in the rlib metadata. Currently this is just FileMap.name, which is whatever path is passed to rustc. Since libcore and libstd are built by invoking rustc with relative paths, they wind up with relative paths in the rlib, and when linked into a binary the debug info uses relative paths for the names, but since the compilation directory for the final binary, tools trying to read source filenames will wind up with bad paths. We noticed this in Firefox with source filenames from libcore/libstd having bad paths. This change stores an absolute path in FileMap.abs_path, and uses that if available for writing debug info. This is not going to magically make debuggers able to find the source, but it will at least provide sensible paths.
2016-06-14Remove the type parameter from `syntax::visit::Visitor`Jeffrey Seyfried-2/+2
2016-06-14Change `fold_tt` and `fold_tts` to take token trees by value (instead of by ↵Jeffrey Seyfried-8/+7
reference)
2016-05-02replace fileline_{help,note} with {help,note}Niko Matsakis-5/+5
The extra filename and line was mainly there to keep the indentation relative to the main snippet; now that this doesn't include filename/line-number as a prefix, it is distracted.
2016-04-24Remove some old code from libsyntaxVadim Petrochenkov-1/+1
2016-04-24syntax: Get rid of token::IdentStyleVadim Petrochenkov-23/+11
2016-04-12Remove unused trait importsSeo Sanghyeon-1/+0
2016-02-19Do less panicking in generalJonas Schievink-0/+4
2016-02-16Move more uses of `panictry!` out of libsyntaxJonas Schievink-72/+58
[breaking-change] for syntax extensions
2016-02-13Rename ast::Pat_ and its variantsVadim Petrochenkov-4/+4
2016-02-12Use more autoderef in libsyntaxJonas Schievink-7/+7
2016-02-11Remove some unnecessary indirection from AST structuresVadim Petrochenkov-5/+5
2016-02-11[breaking-change] don't glob export ast::Visibility variantsOliver 'ker' Schneider-1/+1
2016-02-11[breaking-change] don't glob export ast::Mutablity variantsOliver 'ker' Schneider-2/+2
2016-02-11[breaking-change] don't glob export ast::Item_ variantsOliver 'ker' Schneider-1/+1
2016-02-11[breaking-change] don't pub export ast::Stmt_ variantsOliver Schneider-2/+2
2016-02-11[breaking-change] don't pub export ast::IntLitType variantsOliver Schneider-11/+11
2016-02-11[breaking-change] don't pub export ast::Lit_ variantsOliver Schneider-9/+9
2016-02-11[breaking-change] don't pub export ast::Ty_ variantsOliver Schneider-1/+1
2016-02-11[breaking-change] remove the sign from integer literals in the astOliver Schneider-18/+10
2016-02-11[breaking-change] don't glob export ast::{UintTy, IntTy} variantsOliver Schneider-10/+10
2016-02-11[breaking-change] don't glob export ast::FloatTy variantsOliver Schneider-2/+2
2016-02-11[breaking-change] don't glob export ast::Expr_ variantsOliver Schneider-7/+7
2016-02-11[breaking-change] don't glob import/export syntax::abi enum variantsOliver Schneider-2/+2
2016-02-11[breaking-change] don't glob export ast::BlockCheckMode variantsOliver Schneider-1/+1
2016-02-11[breaking-change] don't glob import ast::FunctionRetTy variantsOliver Schneider-1/+1
2016-01-22The war on abort_if_errorsNick Cameron-13/+7
2016-01-15Implement JSON error emissionNick Cameron-1/+1
[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().
2015-12-31Cut out a bunch of Result and panictry! boilerplate from libsyntax.Nick Cameron-1/+1
[breaking-change] if you use any of the changed functions, you'll need to remove a try! or panictry!
2015-12-30use structured errorsNick Cameron-16/+34
2015-12-21Auto merge of #30460 - Ms2ger:BindingMode, r=alexcrichtonbors-2/+2
2015-12-20Stop re-exporting the ast::BindingMode variants.Ms2ger-2/+2
2015-12-18Rollup merge of #30420 - petrochenkov:owned2, r=nrcManish Goregaokar-2/+1
Part of https://github.com/rust-lang/rust/pull/30095 not causing mysterious segfaults. r? @nrc