Add Sexp::for shortcut for Sexp.from_array ParseTree.translate(...).
Add parens for :block nodes as appropriate. May be overzealous.
Made add_to_parse_tree global for reuse by other C extensions.
Made test_ruby2ruby MUCH more rigorous with circular testing.
6 bug fixes:
Added $TESTING = true to pt_testcase.rb. OOPS!
Fixed some circular bugs, mostly by hacking them out, wrt operator
precidence.
Fixed splat arg processing when arg has no name.
Fixed trinary operator.
Fixed BMETHOD with no arguments.
Removed hacky "self." thing for defs at top level PT use.
1.7.1 / 2007-06-05
3 minor enhancements:
Added begin/rescue/ensure test.
Added block_pass_args_and_splat.
Allow methods to be pulled from unparsed files.
1 bug fix:
Compatibility fixed across 1.8.
1.7.0 / 2007-02-13
2 major enhancements:
rewrite extracted and intended to be run before (or in front of) process.
rewrite is now recursive as well, so children rewritings should be done
independently of their parents. This should make complex rewriting layers
much cleaner and allow me to eventually collect and publish a single
"standard" rewriting layer.
1 minor enhancement:
Iters are now {} if short and one line. YAY!
1 bug fix:
Added test cases brought out by ruby2ruby/heckle.
1.6.4 / 2007-01-15
1 minor enhancement:
Switched short if/unless to 1 line expressions.
2 bug fixes:
Fixed the nested case/when bug. YAY!
Added dasgn_curr and defn_rescue test cases.
1.6.3 / 2006-12-20
1 bug fix:
ParseTree::translate was trying to translate inherited class methods.
1.6.2 / 2006-12-19
2 minor enhancements:
ParseTree::translate can now take :"self.method".
Improved PT tests for [], []=
1 bug fixes:
Fixed a bug in ParseTree where
cases w/o exprs were malformed.
1.6.1 / 2006-11-11
2 minor enhancements:
Have been going insane on the tests, expect more soon.
Cleaned up using named nodes, now do: args = exp.scope.block.args(:delete).
2 bug fixes:
Fixed parse_tree to return superclass in :const node.
Fixed while/until with no bodies (now nil).
1.6.0 / 2006-10-11
2 major enhancements:
PTTC just got a major enema. 2k lines o’ diff.
All in all, removed 829 lines of code and made it a lot more solid.
6 minor enhancements:
Added sort rake task.
Added a basic front-end method to ParseTree: translate, takes string or
Class and optional method name.
Class now has nil for unspecified
superclass. No way to tell if it is being reopened.
SexpProcessor‘s unsupported array now defaults to all the internal
nodes.