Commit Graph

1882 Commits

Author SHA1 Message Date
bors b609d022c4 auto merge of #9035 : alexcrichton/rust/fewer-clownshoes, r=huonw
This removes another large chunk of this odd 'clownshoes' identifier showing up
in symbol names. These all originated from external crates because the encoded
items were encoded independently of the paths calculated in ast_map. The
encoding of these paths now uses the helper function in ast_map to calculate the
"pretty name" for an impl block.

Unfortunately there is still no information about generics in the symbol name,
but it's certainly vastly better than before

    hash::__extensions__::write::_version::v0.8

becomes

    hash::Writer$SipState::write::hversion::v0.8

This also fixes bugs in which lots of methods would show up as `meth_XXX`, they
now only show up as `meth` and throw some extra characters onto the version
string.
2013-09-08 01:05:59 -07:00
Alex Crichton 13d33064a6 Remove even more usage of clownshoes in symbols
This removes another large chunk of this odd 'clownshoes' identifier showing up
in symbol names. These all originated from external crates because the encoded
items were encoded independently of the paths calculated in ast_map. The
encoding of these paths now uses the helper function in ast_map to calculate the
"pretty name" for an impl block.

Unfortunately there is still no information about generics in the symbol name,
but it's certainly vastly better than before

    hash::__extensions__::write::_version::v0.8

becomes

    hash::Writer$SipState::write::hversion::v0.8

This also fixes bugs in which lots of methods would show up as `meth_XXX`, they
now only show up as `meth` and throw some extra characters onto the version
string.
2013-09-06 23:56:17 -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 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 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 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 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
John Clements d1c01734f3 drop back to a simple gensym approach for fresh-name.
this is necessary so that the new idents are connected to the original strings.
this is important both for error messages, and so that top-level refs get connected
to the right things.
2013-09-06 13:35:08 -07:00
John Clements 7bf75adfd9 added FIXME comment 2013-09-06 13:35:08 -07:00
John Clements 9de40dfc87 remove FIXME #2888, now bug is fixed 2013-09-06 13:35:08 -07:00
John Clements 98a6cbdba3 comments only 2013-09-06 13:35:08 -07:00
John Clements 91d3c36430 adding test case to check marking/unmarking 2013-09-06 13:35:08 -07:00
John Clements b7c0512b27 refactor so tt_fold only requires an ident->ident fn 2013-09-06 13:35:08 -07:00
John Clements 93337f0daa separate ItemDecorator from ItemDecorator 2013-09-06 13:35:08 -07:00