2 bug fixes:
Code cleanup... what was I thinking???
Explicitly setting pt_testcase.rb to US-ASCII to avoid encoding hell
1 bug fix:
Sexp#structure should grep for Sexps, not Arrays
1 minor enhancement:
iter args revamp for ruby_parser 3 changes.
1 minor enhancement:
Added Environment#current so you can explicitly shadow variables. (meh)
4 minor enhancements:
1.9: Had to version split all my 'not' tests since 1.9 is insane.
1.9: f (args) is not allowed in 1.9.
1.9: f(hash, *splat) is not allowed in 1.9.
Added module2 test to verify module w/ 2+ entities
2 bug fixes:
1.9: Changed !@ to ! since that is what you implement
True to my wtf comment, there was a bug in my case_splat test
5 major enhancements:
Removed :arglist from everything except :op_asgn1.
Removed block from resbody
Removed block from when node
Removed block nodes inside of scope nodes (defn/defs/class/sclass).
Removed scope nodes in defn/defs/class/sclass nodes.
1 minor enhancement:
Added Sexp#deep_each and Sexp#each_sexp. Refactored from Flay
5 minor enhancements:
Added a ton of block arg tests.
Added add19_edgecases to help refactor a bunch of tests that all have the same output.
Added better debugging output for rewrites.
Cleaned and added a bunch of stabby proc tests.
Moved RawParseTree test data to ParseTree project.
2 bug fixes:
Fixed a bunch of entries for r2r changes against edgecase parse/lex tests
Fixes for R2R
4 minor enhancements:
Added test_call_arglist_trailing_comma__19 (presidentbeef)
Added test_fcall_inside_parens. (presidentbeef)
Added test_if_args_no_space_symbol__18. (presidentbeef)
Added tests for new hash syntax and ternaries in 1.9 (lastobelus)
1 minor enhancement:
Added test for bare hash at end of array in 1.9. (presidentbeef)
1 bug fix:
Fixed 1.9.3 warnings
1 minor enhancement:
Add missing test for a ternary with nil without a space before the colon (brynary)
4 minor enhancements:
Add 6 missing ruby 1.9 tests (brynary)
Added new 1.9 hash tests to pt_testcase.rb
Version specific tests are now skipped at runtime, not test creation time
Added new block arg tests.
2 bug fixes:
Fixed and test to not have mandatory parens
Fixed r2r's handling of dregexp options
5 minor enhancements:
Added ParseTreeTestCase#add_19tests
Added a bunch of FAILING 1.9 tests stolen from presidentbeef's repo! yay!
Added add_19tests and add_18tests to segregate version specific parsing.
Moved pt_testcase.rb to sexp_processor
Segregated a bunch of 1.8 specific tests using add_18tests.
2 minor enhancements:
Added in_context to clean up code.
optimize inspect to avoid needlessly caching @line
1 minor enhancement:
Added line number to pretty_print output if $VERBOSE
1 minor enhancement:
Pulled mass up from flog/flay
2 minor enhancements:
Pulled unique.rb from ParseTree to sexp_processor.
Switched to minitest.
3 minor enhancements:
Filled out README
Promoted file/line/comments from ruby_parser.
Added sexp_type to compliment sexp_body.
2 major enhancements:
Released as its own project, splitting from ParseTree
Added Environment to SexpProcessor and built it in. YAY!
6 minor enhancements:
Allowed CompositeSexpProcessor to be more ducktypey.
Refactored Sexp#method_missing into find_node and find_nodes.
Removed Sexp#for and other PT specific code.
SexpProcessor#process now runs rewriters before everything else.
SexpProcessor#rewrite context only for subs, EMPTY for top level rewrites.
SexpProcessor#rewrite will stop iterating if the result isn't another Sexp.