about summary refs log tree commit diff
path: root/src/libsyntax/ext/tt/macro_rules.rs
AgeCommit message (Collapse)AuthorLines
2016-09-05Refactor `SyntaxEnv`.Jeffrey Seyfried-2/+2
2016-09-05In `Parser` and `ExtCtxt`, replace fields `filename` and `mod_path_stack`Jeffrey Seyfried-2/+1
with a single field `directory: PathBuf`.
2016-08-07Make metavariables hygienic.Jeffrey Seyfried-2/+2
2016-07-13Start a best-effort warning cycle.Jeffrey Seyfried-1/+1
2016-07-13cleanup: Refactor parser method `finish_parsing_statement` -> `parse_full_stmt`.Jeffrey Seyfried-7/+1
2016-07-12Parse macro-expanded statements like ordinary statements.Jeffrey Seyfried-1/+7
2016-07-04Revert "Change `fold_tt` and `fold_tts` to take token trees by value ↵Jeffrey Seyfried-4/+5
(instead of by reference)" This reverts commit 5bf7970ac70b4e7781e7b2f3816720aa62fac6fd.
2016-06-26Rollup merge of #33943 - jseyfried:libsyntax_cleanup, r=nrcJeffrey Seyfried-22/+19
Miscellaneous low priority cleanup in `libsyntax`.
2016-06-26Rollup merge of #34385 - cgswords:tstream, r=nrcJeffrey Seyfried-7/+9
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-25Rollup merge of #34403 - jonathandturner:move_liberror, r=alexcrichtonJeffrey Seyfried-1/+1
This PR refactors the 'errors' part of libsyntax into its own crate (librustc_errors). This is the first part of a few refactorings to simplify error reporting and potentially support more output formats (like a standardized JSON output and possibly an --explain mode that can work with the user's code), though this PR stands on its own and doesn't assume further changes. As part of separating out the errors crate, I have also refactored the code position portion of codemap into its own crate (libsyntax_pos). While it's helpful to have the common code positions in a separate crate for the new errors crate, this may also enable further simplifications in the future.
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-1/+1
2016-06-21Refactored tokentrees into their own files in preparation for tokenstreams. ↵cgswords-7/+9
Modified tests to point to the new file now.
2016-06-14Change `fold_tt` and `fold_tts` to take token trees by value (instead of by ↵Jeffrey Seyfried-21/+19
reference)
2016-06-13Add support for macro expansion inside trait itemsJoseph Dunne-0/+15
2016-06-07Auto merge of #33982 - LeoTestard:remove-check-matcher-old, r=pnkfelixbors-233/+18
Remove the old FOLLOW checking (aka `check_matcher_old`). It was supposed to be removed at the next release cycle but is still in the tree since like 6 months. Potential breaking change, since some cases (such as #25658) will change from a warning to an error. But the warning stating that it will be a hard error in the next release has been there for 6 months now. I think it's safe to break this code. ^_^
2016-06-06Remove the old FOLLOW checking (aka `check_matcher_old`).Leo Testard-233/+18
2016-05-26Reject a LHS formed of a single sequence TT during `macro_rules!` checking.Leo Testard-9/+4
This was already rejected during expansion. Encountering malformed LHS or RHS during expansion is now considered a bug.
2016-05-24Avoid iterating two times over the list of LHSes.Leo Testard-5/+4
2016-05-24Make sure that macros that didn't pass LHS checking are not expanded.Leo Testard-33/+53
This avoids duplicate errors for things like invalid fragment specifiers, or parsing errors for ambiguous macros. Fixes #29231.
2016-04-24syntax: Make static/super/self/Self keywords + special ident cleanupVadim Petrochenkov-3/+3
2016-04-24syntax: Get rid of token::IdentStyleVadim Petrochenkov-12/+10
2016-04-13implement RFC amendment 1494Alex Burka-0/+1
2016-03-02Fix the search paths for macro-expanded non-inline modulesJeffrey Seyfried-1/+7
2016-02-11Remove some unnecessary indirection from AST structuresVadim Petrochenkov-2/+2
2016-02-11[breaking-change] don't glob export ast::KleeneOp variantsOliver 'ker' Schneider-2/+2
2016-01-27trpl: fix macro follow setsAlex Burka-0/+1
2016-01-23add `[` to FOLLOW(ty) and FOLLOW(path)Alex Burka-1/+1
Following RFC 1462 (amending 550). Closes #31135.
2016-01-07extending FOLLOW(NT) as specified in amendment.Felix S. Klock II-4/+7
See RFC amendment 1384: https://github.com/rust-lang/rfcs/pull/1384
2016-01-07macro_rules: proper FIRST/FOLLOW computations for checking macro_rules validity.Felix S. Klock II-16/+500
See RFC amendment 1384 and tracking issue 30450: https://github.com/rust-lang/rfcs/pull/1384 https://github.com/rust-lang/rust/issues/30450 Moved old check_matcher code into check_matcher_old combined the two checks to enable a warning cycle (where we will continue to error if the two checks agree to reject, accept if the new check says accept, and warn if the old check accepts but the new check rejects).
2016-01-06Auto merge of #30654 - nrc:panictry, r=brsonbors-2/+2
The motivation (other than removing boilerplate) is that this is a baby step towards a parser with error recovery. [breaking-change] if you use any of the changed functions, you'll need to remove a try! or panictry!
2016-01-04Add test for "malformed macro lhs" and change back span_bug to span_fatalGuillaume Gomez-2/+2
2015-12-31Cut out a bunch of Result and panictry! boilerplate from libsyntax.Nick Cameron-2/+2
[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-4/+7
2015-11-25Auto merge of #30011 - jonas-schievink:macro-context, r=nrcbors-10/+10
Fixes #22425 Also fixes #30007, since it's just a change from `true` to `false`.
2015-11-24Remove "this"Jonas Schievink-1/+1
2015-11-24Fix unreachable code in libsyntaxManish Goregaokar-2/+2
2015-11-23Print the macro context name on incomplete parseJonas Schievink-10/+10
Fixes #22425 Also fixes #30007, since it's just a change from `true` to `false`.
2015-11-16Auto merge of #29828 - sanxiyn:check-macro, r=nrcbors-49/+63
Fix #27409.
2015-11-14Check macro definition and do not expand invalid macrosSeo Sanghyeon-3/+22
2015-11-14Reindent codeSeo Sanghyeon-22/+22
2015-11-14Store TokenTree in MacroRulesMacroExpanderSeo Sanghyeon-28/+23
2015-11-13Auto merge of #29761 - eefriedman:rename-nopanic, r=sanxiynbors-5/+5
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more readable.
2015-11-10Rename _nopanic methods to remove the suffix.Eli Friedman-5/+5
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more readable.
2015-11-10Use deref coercionsSeo Sanghyeon-1/+1
2015-11-06remove `Tt` prefix from TokenType variantsOliver Schneider-28/+34
[breaking change]
2015-10-27Don't use panicking helpers in Parser.Eli Friedman-4/+4
2015-10-08typos: fix a grabbag of typos all over the placeCristi Cobzarenco-1/+1
2015-09-24Cleanup interfaces of Name, SyntaxContext and IdentVadim Petrochenkov-4/+4
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-08-10add and use Span.substitute_dummy methodTim Neumann-17/+6
2015-08-07improve span of erroneous empty macro invocationTim Neumann-6/+27
The ideas is to use the span of the complete macro invocation if the span of a macro error is `DUMMY_SP`. fixes #7970