Tim Kuehn
39ce095ebd
use enumerate in place of 'for ti in range(i, tokens.len()) ... match tokens[ti] ...'
2013-09-06 21:54:03 -04:00
bors
f883159cdf
auto merge of #9019 : alexcrichton/rust/reconfigure-llvm, r=brson
...
@Chris-Morgan ran into this, turns out if we have a clean llvm in the old location we won't rebuild/reconfigure even though we should.
2013-09-06 16:51:00 -07:00
John Clements
956129cbb2
ident->name
2013-09-06 13:35:14 -07:00
John Clements
eabeba3ef3
added index to test cases, more debugging output
2013-09-06 13:35:14 -07:00
John Clements
1ecc1e51c0
quote_* macros no longer need to be capturing
...
This is actually almost a problem, because those were my poster-child
macros for "here's how to implement a capturing macro." Following this
change, there will be no macros that use capturing; this will probably
make life unpleasant for the first person that wants to implement a
capturing macro. I should probably create a dummy_capturing macro,
just to show how it works.
2013-09-06 13:35:14 -07:00
John Clements
4664d3320d
comment fix
2013-09-06 13:35:14 -07:00
John Clements
114b1a7e97
add hygiene test, add copyright to another
2013-09-06 13:35:14 -07:00
John Clements
d8c77e082b
make macro hygienic
2013-09-06 13:35:13 -07:00
John Clements
6c294ba538
add test case, cleanup
2013-09-06 13:35:13 -07:00
John Clements
fe1d21caec
add display_sctable fn to ast_util
2013-09-06 13:35:13 -07:00
John Clements
8330411688
fixed a bug that caused double-expand-traversal of macros that expand into modules.
2013-09-06 13:35:13 -07:00
John Clements
fddc815ada
WIP: adding mark-cancelling for macro_rules
2013-09-06 13:35:13 -07:00
John Clements
e681e7843e
added string_to_tts
2013-09-06 13:35:13 -07:00
John Clements
985a92ec12
comments
2013-09-06 13:35:13 -07:00
John Clements
1a06584117
comment on hygienic context extension train fns
2013-09-06 13:35:13 -07:00
John Clements
dc7f3df27f
awesome new bug! added test case
2013-09-06 13:35:12 -07:00
John Clements
7b548e7180
expose mtwt_marksof for testing
2013-09-06 13:35:12 -07:00
John Clements
7dca301cf4
ident->name
2013-09-06 13:35:12 -07:00
John Clements
bba10ec812
xfailed unhygienic test
2013-09-06 13:35:12 -07:00
John Clements
76c1e0497d
ident->name
2013-09-06 13:35:12 -07:00
John Clements
dbf4e19ea5
remove unneeded imports, clean up unused var warnings
2013-09-06 13:35:12 -07:00
John Clements
60562ac9f8
whitespace, reindentation, and comments only
2013-09-06 13:35:12 -07:00
John Clements
ec0a64def5
memoization for resolve
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
d9ba61c786
ident->name in NamedField, elsewhere
2013-09-06 13:35:11 -07:00
John Clements
9ab2cfdae6
added utility function
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
e29d25338d
remove dead code
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
2c51e262f3
add fold_mac clause to fun_to_ctxt_folder
2013-09-06 13:35:11 -07:00
John Clements
dfa04cecca
add fold_mac field to fold.rs
2013-09-06 13:35:10 -07:00
John Clements
3261b6eece
WIP: adding context to macros
2013-09-06 13:35:10 -07:00
John Clements
34f31e2961
rework fold so that fold_tts takes an ast_fold rather than a thunk, stop using closures in ident traversal
2013-09-06 13:35:10 -07:00
John Clements
09e6dda4f2
add temporarily unused ctxt field to mac_invoc_tt
2013-09-06 13:35:10 -07:00
John Clements
3621c674cc
comments
2013-09-06 13:35:10 -07:00
John Clements
0c31c930ff
add test case for macro token comparison
2013-09-06 13:35:10 -07:00
John Clements
963dab5dcb
marking on both input and output from macros. nice shiny new test case framework
2013-09-06 13:35:10 -07:00
John Clements
f68aa459ea
added IterBytes for 4-tuples
2013-09-06 13:35:10 -07:00
John Clements
58e7598c2e
added gensym_copy mechanism to ensure sharing of pointers in the interner
...
this makes comparisons constant-time, and enables spelling-comparison
of identifiers, crucial in many parts of resolve.
2013-09-06 13:35:10 -07:00
John Clements
9d33001a90
added test for ptr_eq on fresh_name-generated idents
2013-09-06 13:35:09 -07:00
John Clements
cd4e637ae4
fixed bug in fold's traversal of cast exprs
2013-09-06 13:35:09 -07:00
John Clements
d876a721d2
new test that uncovers bug in fold
2013-09-06 13:35:09 -07:00
John Clements
015ba31c02
test case support fns, remove debugging test case
2013-09-06 13:35:09 -07:00
John Clements
62fee04ae9
test case work
2013-09-06 13:35:09 -07:00
John Clements
1f8e856430
re-add lost call to expand_block_elts
2013-09-06 13:35:09 -07:00
John Clements
9071ac60b6
re-add debug version
2013-09-06 13:35:09 -07:00
John Clements
7a9af098f0
test case work
2013-09-06 13:35:09 -07:00
John Clements
f5ab867119
use empty_ctxt to simplify downstream
2013-09-06 13:35:09 -07:00
John Clements
a666ddc135
make comparison of special_idents non-hygienic
2013-09-06 13:35:08 -07:00
John Clements
3965725d51
comments
2013-09-06 13:35:08 -07:00