Class: PreUnifier
- Inherits:
-
SexpProcessor
- Object
- SexpProcessor
- PreUnifier
- Defined in:
- lib/unified_ruby.rb
Instance Method Summary collapse
-
#initialize ⇒ PreUnifier
constructor
A new instance of PreUnifier.
- #rewrite_call(exp) ⇒ Object
- #rewrite_fcall(exp) ⇒ Object
Constructor Details
#initialize ⇒ PreUnifier
Returns a new instance of PreUnifier.
353 354 355 356 |
# File 'lib/unified_ruby.rb', line 353 def initialize super @unsupported.delete :newline end |
Instance Method Details
#rewrite_call(exp) ⇒ Object
358 359 360 361 362 |
# File 'lib/unified_ruby.rb', line 358 def rewrite_call exp exp << s(:arglist) if exp.size < 4 exp.last[0] = :arglist if exp.last.first == :array exp end |
#rewrite_fcall(exp) ⇒ Object
364 365 366 367 368 369 370 371 372 |
# File 'lib/unified_ruby.rb', line 364 def rewrite_fcall exp exp << s(:arglist) if exp.size < 3 if exp[-1][0] == :array then has_splat = exp[-1].find { |s| Array === s && s.first == :splat } exp[-1] = s(:arglist, exp[-1]) if has_splat exp[-1][0] = :arglist end exp end |