Salem Talha
cc61fc0994
Removed all instances of XXX in preparation for relaxing of FIXME rule
2014-01-26 14:42:53 -05:00
Steven Fackler
ab5bbd3c17
Simplify and rename macro API
...
Now that procedural macros can be implemented outside of the compiler,
it's more important to have a reasonable API to work with. Here are the
basic changes:
* Rename SyntaxExpanderTTTrait to MacroExpander, SyntaxExpanderTT to
BasicMacroExpander, etc. I think "procedural macro" is the right
term for these now, right? The other option would be SynExtExpander
or something like that.
* Stop passing the SyntaxContext to extensions. This was only ever used
by macro_rules, which doesn't even use it anymore. I can't think of
a context in which an external extension would need it, and removal
allows the API to be significantly simpler - no more
SyntaxExpanderTTItemExpanderWithoutContext wrappers to worry about.
2014-01-25 13:55:39 -08:00
Simon Sapin
bada25e425
[std::vec] Rename .pop_opt() to .pop(), drop the old .pop() behavior
2014-01-21 15:48:47 -08:00
Simon Sapin
aa66b91767
[std::vec] Rename .last_opt() to .last(), drop the old .last() behavior
2014-01-21 15:48:46 -08:00
Huon Wilson
39713b8295
Remove unnecessary parentheses.
2014-01-21 22:00:18 +11:00
Huon Wilson
4be3262058
syntax::ext: replace span_fatal with span_err in many places.
...
This means that compilation continues for longer, and so we can see more
errors per compile. This is mildly more user-friendly because it stops
users having to run rustc n times to see n macro errors: just run it
once to see all of them.
2014-01-18 02:03:04 +11:00
Patrick Walton
119c6141f5
librustc: Remove @ pointer patterns from the language
2014-01-13 14:45:21 -08:00
Brian Anderson
cdc44940b7
syntax: Fix capitalization in macro_parser errors
2014-01-10 18:06:35 -08:00
Eduard Burtescu
6b221768cf
libsyntax: Renamed types, traits and enum variants to CamelCase.
2014-01-09 22:25:28 +02:00
Steven Fackler
bb49916d21
Use ~-objects instead of @-objects for syntax exts
...
This is necessary for #11151 to make sure dtors run before the libraries
are unloaded.
2014-01-05 18:02:57 -08:00
Patrick Walton
d347d5a762
libsyntax: De-@mut TtFrame
2014-01-03 14:01:58 -08:00
Patrick Walton
a7f7482e79
libsyntax: De-@mut TtFrame::idx
2014-01-03 14:01:58 -08:00
Patrick Walton
4d66af2698
librustc: De-@mut the span handler
2014-01-03 14:01:57 -08:00
Patrick Walton
7e1b535eb1
libsyntax: De-@mut StringReader, TtReader, and reader
2014-01-03 14:01:57 -08:00
Patrick Walton
2b83377b29
libsyntax: De-@mut TtReader::stack
2014-01-03 14:01:57 -08:00
Patrick Walton
b597207ced
libsyntax: De-@mut TtReader::cur_span
2014-01-03 14:01:57 -08:00
Patrick Walton
c233c2edfd
libsyntax: De-@mut TtReader::cur_tok
2014-01-03 14:01:57 -08:00
Patrick Walton
bac8b2e557
libsyntax: De-@mut TtReader::repeat_len
2014-01-03 14:01:57 -08:00
Patrick Walton
db21387ad0
libsyntax: De-@mut TtReader::repeat_idx
2014-01-03 14:01:57 -08:00
Patrick Walton
3810bea0da
libsyntax: De-@mut TtReader::interpolations
2014-01-03 14:01:57 -08:00
Patrick Walton
3aa19a6b86
librustc: De-@mut the parse session
2014-01-03 14:01:56 -08:00
Patrick Walton
0c6cee55ea
libsyntax: De-@mut Parser::span
2014-01-02 14:16:07 -08:00
Patrick Walton
758d854436
libsyntax: De-@mut token in the parser
2014-01-02 14:16:07 -08:00
Patrick Walton
425a140485
libsyntax: De-@mut quote_depth in the parser
2014-01-02 14:16:07 -08:00
Patrick Walton
f499d365ad
libsyntax: Make the parser mutable
2014-01-02 14:16:07 -08:00
klutzy
9cdad685a3
syntax::codemap: Add static DUMMY_SP
...
It replaces `dummy_sp()`.
2014-01-01 19:51:35 +09:00
klutzy
fe10c63326
syntax::diagnostic: Remove unnecessary traits
...
This removes trait `handler` and `span_handler`,
and renames `HandlerT` to `Handler`, `CodemapT` to `SpanHandler`.
2014-01-01 19:10:43 +09:00
Steven Fackler
8143662836
Start passing around &mut ExtCtxt
2013-12-29 23:41:09 -08:00
Steven Fackler
0607c138ca
Stop using @ExtCtxt
2013-12-28 21:16:03 -07:00
Eduard Burtescu
a9c4b18b18
Box Block, fn_decl, variant and Ty in the AST, as they were inflating critical enum sizes.
2013-12-01 00:00:39 +02:00
Alex Crichton
ab387a6838
Register new snapshots
2013-11-28 20:27:56 -08:00
Eduard Burtescu
f09b7b0ecd
Freeze the AST by removing a couple of unused @mut ~[T] from token_tree.
2013-11-27 17:48:58 +02:00
Steven Fackler
c144752a2d
Support multiple item macros
...
Closes #4375
2013-11-26 13:56:02 -08:00
Patrick Walton
efc512362b
libsyntax: Remove all non-proc do syntax.
2013-11-26 08:24:18 -08:00
Alex Crichton
daf5f5a4d1
Drop the '2' suffix from logging macros
...
Who doesn't like a massive renaming?
2013-10-22 08:09:56 -07:00
Huon Wilson
4e0822e253
syntax: allow macros to expand to items with attributes.
...
Fixes #4471 .
2013-10-10 09:57:37 +11:00
Huon Wilson
8284df9e7c
syntax: indicate an error when a macro ignores trailing tokens.
...
That is, only a single expression or item gets parsed, so if there are
any extra tokens (e.g. the start of another item/expression) the user
should be told, rather than silently dropping them.
An example:
macro_rules! foo {
() => {
println("hi");
println("bye);
}
}
would expand to just `println("hi")`, which is almost certainly not
what the programmer wanted.
Fixes #8012 .
2013-10-02 14:43:15 +10:00
Huon Wilson
bbbafc4e46
syntax: remove some dead code.
2013-10-02 11:43:10 +10:00
Alex Crichton
af3b132285
syntax: Remove usage of fmt!
2013-09-30 23:21:19 -07:00
Alex Crichton
409182de6d
Update the compiler to not use printf/printfln
2013-09-26 17:05:59 -07:00
Patrick Walton
e95996399f
libsyntax: Remove some more @fns from the macro expander
2013-09-23 18:23:21 -07:00
John Clements
fddc815ada
WIP: adding mark-cancelling for macro_rules
2013-09-06 13:35:13 -07:00
John Clements
60562ac9f8
whitespace, reindentation, and comments only
2013-09-06 13:35:12 -07:00
John Clements
0954e66442
uncomment mtwt_resolve calls
2013-09-06 13:35:11 -07:00
John Clements
bc2a44daf1
fix one remaining token comparison, refactor token comparison to avoid == check
2013-09-06 13:35:11 -07:00
John Clements
b9bb4abcb6
capturing macros now implemented
2013-09-06 13:35:11 -07:00
John Clements
98a6cbdba3
comments only
2013-09-06 13:35:08 -07:00
John Clements
431ede40df
removed unneccessary SyntaxExpander structs
2013-09-06 13:35:07 -07:00
John Clements
72ee6af4d4
compare macro tokens hygienically (commented out)
2013-09-06 13:35:06 -07:00
Marvin Löbel
857f867320
Renamed syntax::ast::ident -> Ident
2013-09-02 02:51:21 +02:00