class Rattler::Compiler::Optimizer::OptimizationSequence

An OptimizationSequence sequences a pair of optimzations so that applying the sequence applies the first optimization, then applies the second optimzation to the result.

Public Class Methods

new(init, last) click to toggle source
# File lib/rattler/compiler/optimizer/optimization_sequence.rb, line 11
def initialize(init, last)
  super()
  @init = init
  @last = last
end

Protected Instance Methods

_applies_to?(parser, context) click to toggle source
# File lib/rattler/compiler/optimizer/optimization_sequence.rb, line 19
def _applies_to?(parser, context)
  @last.applies_to? parser, context or
  @init.applies_to? parser, context
end
_apply(parser, context) click to toggle source
# File lib/rattler/compiler/optimizer/optimization_sequence.rb, line 24
def _apply(parser, context)
  @last.apply(@init.apply(parser, context), context)
end