about summary refs log tree commit diff
path: root/src/libsyntax/parse/common.rs
AgeCommit message (Collapse)AuthorLines
2018-06-09Crate-ify and delete unused code in syntax::parseMark Simulacrum-36/+0
2017-05-12Fix some clippy warnings in libsyntaxAndre Bogus-1/+1
This is mostly removing stray ampersands, needless returns and lifetimes.
2016-02-22Use associated functions for libsyntax SepSeq constructors.Corey Farwell-9/+11
2016-01-27rustfmt syntax::parseTshepang Lekhonkhobe-1/+1
2014-11-30Allow trailing commas in array patterns and attributesP1start-6/+1
2014-07-09syntax: doc comments all the thingsCorey Richardson-2/+2
2014-04-27Fix repeated module documentationAlexandre Gagnon-0/+2
2014-03-31syntax: Switch field privacy as necessaryAlex Crichton-2/+2
2014-02-14Refactored ast_map and friends, mainly to have Paths without storing them.Eduard Burtescu-8/+0
2013-06-29Warning cleanupCorey Richardson-8/+0
2013-06-28librustc: Rewrite reachability and forbid duplicate methods in type ↵Patrick Walton-248/+0
implementations. This should allow fewer symbols to be exported.
2013-06-28librustc: Remove the broken overloaded assign-ops from the language.Patrick Walton-4/+4
They evaluated the receiver twice. They should be added back with `AddAssign`, `SubAssign`, etc., traits.
2013-06-25great renaming propagation: syntaxCorey Richardson-2/+0
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-1/+1
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-06Clean up a handful of build warnings.Michael Sullivan-1/+1
2013-06-05just use TLS internerJohn Clements-2/+3
2013-06-05rename repr to nameJohn Clements-1/+1
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-51/+45
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-2/+2
2013-05-25Use an enum for keywords and intern them to improve parser performanceBjörn Steinbrink-84/+13
Currently, keywords are stored in hashsets that are recreated for every Parser instance, which is quite expensive since macro expansion creates lots of them. Additionally, the parser functions that look for a keyword currently accept a string and have a runtime check to validate that they actually received a keyword. By creating an enum for the keywords and inserting them into the ident interner, we can avoid the creation of the hashsets and get static checks for the keywords. For libstd, this cuts the parse+expansion part from ~2.6s to ~1.6s.
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-3/+1
2013-05-15Allow static strings to be used with keyword checksBjörn Steinbrink-21/+21
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-1/+2
2013-05-03More accurate spansSeo Sanghyeon-1/+1
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-2/+2
2013-04-16add self.token_to_str and is_any_keyword convenience abstractionsJohn Clements-8/+27
2013-03-29commenting parserJohn Clements-1/+14
2013-03-26syntax: Removing uses of HashMapAlex Crichton-4/+4
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-1/+1
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-1/+1
2013-03-11librustc: Replace all uses of `fn()` with `&fn()`. rs=defunPatrick Walton-6/+6
2013-03-06removed unused abstraction over paths and value_pathsJohn Clements-4/+0
2013-03-04Remove unused imports throughout src/Alex Crichton-2/+0
2013-03-03libsyntax: add &self to parser methodsErick Tryzelaar-23/+29
2013-02-28Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-18/+6
2013-02-27Introduce lifetime declarations into the lists of type parameters.Niko Matsakis-18/+8
Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846
2013-02-26libsyntax: change closures to take fn(&Parser)Erick Tryzelaar-9/+9
2013-02-26libsyntax: change token_is_word to take &TokenErick Tryzelaar-1/+1
2013-02-26libsyntax: change Parser::unexpected_last to take &TokenErick Tryzelaar-2/+2
2013-02-26libsyntax: more minor cleanupErick Tryzelaar-4/+4
2013-02-26libsyntax: change token::to_str to take &TokenErick Tryzelaar-21/+22
2013-02-26libsyntax: change attr::parse_seq_* to take &TokenErick Tryzelaar-11/+11
2013-02-25libsyntax: add some explicit copiesErick Tryzelaar-2/+2
2013-02-25libsyntax: change token_is_{word,keyword} to take &TokenErick Tryzelaar-6/+6
2013-02-25libsyntax: minor cleanupErick Tryzelaar-45/+88
2013-02-25libsyntax: change expect to take &token::TokenErick Tryzelaar-12/+13
2013-02-25libsyntax: change eat to take a &tokenErick Tryzelaar-2/+2
2013-02-25libsyntax: is_keyword should take a &~strErick Tryzelaar-21/+21