John Clements
22d21ab4c2
rename repr to name
2013-06-05 12:01:37 -07:00
Patrick Walton
5fb254695b
Remove all uses of pub impl
. rs=style
2013-06-01 09:18:27 -07:00
Seo Sanghyeon
8f80323f09
Remove unnecessary allocations flagged by lint
2013-05-28 03:14:44 +09:00
Björn Steinbrink
6c62d77830
Use an enum for keywords and intern them to improve parser performance
...
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-25 17:57:22 +02:00
Patrick Walton
f3723cf7c4
libextra: Rename the actual metadata names of libcore to libstd and libstd to libextra
2013-05-22 21:57:07 -07:00
Alex Crichton
82fa0018c8
Remove all unnecessary allocations (as flagged by lint)
2013-05-20 16:10:40 -05:00
Björn Steinbrink
109bb7c78b
Allow static strings to be used with keyword checks
2013-05-15 08:01:04 +02:00
Patrick Walton
5d3559e645
librustc: Make self
and static
into keywords
2013-05-12 16:35:18 -07:00
Seo Sanghyeon
a0d8873097
More accurate spans
2013-05-03 02:36:24 +09:00
Daniel Micay
f792baba42
only use #[no_core] in libcore
2013-04-27 21:34:24 -04:00
Alex Crichton
3c7aea3a6a
syntax: de-mode and prepare for de-modeing rustc
2013-04-19 23:21:52 -04:00
John Clements
e7aa24de18
add self.token_to_str and is_any_keyword convenience abstractions
2013-04-16 10:06:06 -07:00
John Clements
556143c488
commenting parser
2013-03-29 10:53:00 -07:00
Alex Crichton
e4c3d805a4
syntax: Removing uses of HashMap
2013-03-26 19:20:02 -04:00
Patrick Walton
e7c60c141b
librustc: Remove pure
from libsyntax and librustc.
2013-03-22 12:57:27 -07:00
Patrick Walton
b1c699815d
librustc: Don't accept as Trait
anymore; fix all occurrences of it.
2013-03-13 20:07:09 -07:00
Patrick Walton
d18f785457
librustc: Replace all uses of fn()
with &fn()
. rs=defun
2013-03-11 09:35:58 -07:00
John Clements
88451878f8
removed unused abstraction over paths and value_paths
2013-03-06 09:41:47 -08:00
Alex Crichton
dfb5c10dea
Remove unused imports throughout src/
2013-03-04 12:27:01 -05:00
Erick Tryzelaar
4a73426aa2
libsyntax: add &self to parser methods
2013-03-03 15:25:08 -08:00
Erick Tryzelaar
3953bdd812
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-02-28 07:25:31 -08:00
Niko Matsakis
c623d21e38
Introduce lifetime declarations into the lists of type parameters.
...
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-27 19:42:09 -05:00
Erick Tryzelaar
8d239a256d
libsyntax: change closures to take fn(&Parser)
2013-02-26 20:48:06 -08:00
Erick Tryzelaar
de6d9f66b5
libsyntax: change token_is_word to take &Token
2013-02-26 02:58:39 -08:00
Erick Tryzelaar
34c02a6c0e
libsyntax: change Parser::unexpected_last to take &Token
2013-02-26 02:36:21 -08:00
Erick Tryzelaar
28691a0852
libsyntax: more minor cleanup
2013-02-26 02:14:01 -08:00
Erick Tryzelaar
d346b51997
libsyntax: change token::to_str to take &Token
2013-02-26 01:29:27 -08:00
Erick Tryzelaar
cf6e21a17f
libsyntax: change attr::parse_seq_* to take &Token
2013-02-26 00:22:30 -08:00
Erick Tryzelaar
bff22cf166
libsyntax: add some explicit copies
2013-02-25 23:37:45 -08:00
Erick Tryzelaar
752befe2a6
libsyntax: change token_is_{word,keyword} to take &Token
2013-02-25 23:15:22 -08:00
Erick Tryzelaar
272c25e938
libsyntax: minor cleanup
2013-02-25 22:52:57 -08:00
Erick Tryzelaar
3635480b15
libsyntax: change expect to take &token::Token
2013-02-25 22:30:32 -08:00
Erick Tryzelaar
4650da5888
libsyntax: change eat to take a &token
2013-02-25 21:45:46 -08:00
Erick Tryzelaar
1deb858b22
libsyntax: is_keyword should take a &~str
2013-02-25 21:23:21 -08:00
Patrick Walton
934c938f90
libsyntax: De-mut the parser. rs=demuting
2013-02-22 16:09:16 -08:00
Luqman Aden
b02f5c2090
Get rid of structural records in libsyntax and the last bit in librustc.
2013-02-21 00:19:15 -08:00
Patrick Walton
bf2a225c0b
librustc: Separate most trait bounds with '+'. rs=plussing
2013-02-20 21:14:20 -08:00
John Clements
f9d789fa08
cleanup, fix test case
2013-02-13 15:38:42 -08:00
John Clements
25c4676dfa
Commenting, test cases, cleanup
2013-02-13 15:08:27 -08:00
Daniel Micay
a32c5c73ee
oldmap: get rid of legacy _ref suffixes
2013-02-08 19:12:51 -05:00
Daniel Micay
319eeb1c79
rename map -> oldmap and mark it as deprecated
...
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
John Clements
53688addaa
test cases, cleanup
2013-01-31 23:05:12 -08:00
Patrick Walton
95b892c8a7
libsyntax: De-export a lot of libsyntax. rs=deëxporting
2013-01-29 13:55:30 -08:00
Erick Tryzelaar
eb8fd119c6
convert ast::pat_list_ident_ to a struct
2013-01-14 18:15:54 -08:00
Patrick Walton
2db3abddcd
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37
Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
...
This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 19:27:57 -08:00
Patrick Walton
57c599914a
librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon
2012-12-27 10:02:54 -08:00
Patrick Walton
4c2e4c37ce
librustc: Make use
statements crate-relative by default. r=brson
2012-12-13 13:05:22 -08:00
Patrick Walton
56ece46f7d
librustc: Remove all legacy pattern bindings from libsyntax and librustc. rs=refactoring
2012-12-04 14:19:19 -08:00