class CodeTools::Melbourne

TODO: This will change to: class Processor

Constants

REGEXP_OPTION_PEG

Public Instance Methods

method_missing(sym, *args) click to toggle source

TODO: remove when all processors are defined

# File lib/rubinius/code/processor/processor.rb, line 22
def method_missing(sym, *args)
  puts "#{self.class}#method_missing: #{sym} #{args.map { |x| x.inspect}.join(", ")}"
end
process_alias(line, to, from) click to toggle source

Processing methods

# File lib/rubinius/code/processor/processor.rb, line 29
def process_alias(line, to, from)
  AST::Alias.new line, to, from
end
process_and(line, left, right) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 33
def process_and(line, left, right)
  AST::And.new line, left, right
end
process_andattrasgn(line, receiver, name, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 37
def process_andattrasgn(line, receiver, name, arguments)
  AST::AndAttributeAssignment.new line, receiver, name, arguments
end
process_args(line, required, optional, splat, post, kwargs, kwrest, block) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 41
def process_args(line, required, optional, splat, post, kwargs, kwrest, block)
  AST::Parameters.new line, required, optional, splat, post, kwargs, kwrest, block
end
process_argscat(line, array, rest) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 45
def process_argscat(line, array, rest)
  AST::ConcatArgs.new line, array, rest
end
process_argspush(line, arguments, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 49
def process_argspush(line, arguments, value)
  AST::PushArgs.new line, arguments, value
end
process_array(line, array) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 53
def process_array(line, array)
  AST::ArrayLiteral.new line, array
end
process_attrasgn(line, receiver, name, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 57
def process_attrasgn(line, receiver, name, arguments)
  if name == :[]=
    AST::ElementAssignment.new line, receiver, arguments
  else
    AST::AttributeAssignment.new line, receiver, name, arguments
  end
end
process_back_ref(line, ref) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 65
def process_back_ref(line, ref)
  AST::BackRef.new line, ref
end
process_begin(line, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 69
def process_begin(line, body)
  AST::Begin.new line, body
end
process_block(line, array) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 73
def process_block(line, array)
  AST::Block.new line, array
end
process_block_arg(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 77
def process_block_arg(line, name)
  AST::BlockArgument.new line, name
end
process_block_pass(line, arguments, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 81
def process_block_pass(line, arguments, body)
  AST::BlockPass19.new line, arguments, body
end
process_break(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 85
def process_break(line, value)
  AST::Break.new line, value
end
process_call(line, receiver, name, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 89
def process_call(line, receiver, name, arguments)
  if arguments.kind_of? AST::BlockPass
    block = arguments
    arguments = block.arguments
    block.arguments = nil
  else
    block = nil
  end

  if node = process_transforms(line, receiver, name, arguments)
    node.block = block if block
    return node
  end

  if arguments
    node = AST::SendWithArguments.new line, receiver, name, arguments
  else
    node = AST::Send.new line, receiver, name
  end

  node.block = block
  node
end
process_case(line, receiver, whens, else_body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 137
def process_case(line, receiver, whens, else_body)
  if receiver
    AST::ReceiverCase.new line, receiver, whens, else_body
  else
    AST::Case.new line, whens, else_body
  end
end
process_cdecl(line, expr, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 145
def process_cdecl(line, expr, value)
  AST::ConstantAssignment.new line, expr, value
end
process_class(line, name, superclass, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 149
def process_class(line, name, superclass, body)
  AST::Class.new line, name, superclass, body
end
process_colon2(line, outer, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 153
def process_colon2(line, outer, name)
  if outer
    if outer.kind_of? AST::ConstantAccess and
       outer.name == :Rubinius
      case name
      when :Type
        AST::TypeConstant.new line
      when :Mirror
        AST::MirrorConstant.new line
      else
        AST::ScopedConstant.new line, outer, name
      end
    else
      AST::ScopedConstant.new line, outer, name
    end
  else
    AST::ConstantAccess.new line, name
  end
end
process_colon3(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 173
def process_colon3(line, name)
  AST::ToplevelConstant.new line, name
end
process_const(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 177
def process_const(line, name)
  AST::ConstantAccess.new line, name
end
process_cvar(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 181
def process_cvar(line, name)
  AST::ClassVariableAccess.new line, name
end
process_cvasgn(line, name, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 185
def process_cvasgn(line, name, value)
  AST::ClassVariableAssignment.new line, name, value
end
process_cvdecl(line, name, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 189
def process_cvdecl(line, name, value)
  AST::ClassVariableDeclaration.new line, name, value
end
process_dangling_node() click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 10
def process_dangling_node
  puts "Processing called but node was NULL"
  # TODO: output info about the current AST node
end
process_defined(line, expr) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 193
def process_defined(line, expr)
  AST::Defined.new line, expr
end
process_defn(line, name, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 197
def process_defn(line, name, body)
  AST::Define.new line, name, body
end
process_defs(line, receiver, name, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 201
def process_defs(line, receiver, name, body)
  AST::DefineSingleton.new line, receiver, name, body
end
process_dot2(line, start, finish) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 205
def process_dot2(line, start, finish)
  AST::Range.new line, start, finish
end
process_dot3(line, start, finish) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 209
def process_dot3(line, start, finish)
  AST::RangeExclude.new line, start, finish
end
process_dregx(line, str, array, flags) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 213
def process_dregx(line, str, array, flags)
  AST::DynamicRegex.new line, str, array, flags
end
process_dregx_once(line, str, array, flags) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 217
def process_dregx_once(line, str, array, flags)
  AST::DynamicOnceRegex.new line, str, array, flags
end
process_dstr(line, str, array) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 221
def process_dstr(line, str, array)
  AST::DynamicString.new line, str, array
end
process_dsym(line, str, array) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 225
def process_dsym(line, str, array)
  AST::DynamicSymbol.new line, str, array
end
process_dxstr(line, str, array) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 229
def process_dxstr(line, str, array)
  AST::DynamicExecuteString.new line, str, array
end
process_encoding(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 233
def process_encoding(line, name)
  AST::Encoding.new line, name
end
process_ensure(line, body, ensr) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 237
def process_ensure(line, body, ensr)
  AST::Ensure.new line, body, ensr
end
process_evstr(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 241
def process_evstr(line, value)
  if value
    AST::ToString.new line, value
  else
    AST::StringLiteral.new line, ""
  end
end
process_false(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 249
def process_false(line)
  AST::FalseLiteral.new line
end
process_fcall(line, name, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 253
def process_fcall(line, name, arguments)
  receiver = AST::Self.new line

  if arguments.kind_of? AST::BlockPass
    block = arguments
    arguments = block.arguments
    block.arguments = nil
  else
    block = nil
  end

  if node = process_transforms(line, receiver, name, arguments, true)
    node.block = block if block
    return node
  end

  if arguments
    node = AST::SendWithArguments.new line, receiver, name, arguments, true
  else
    node = AST::Send.new line, receiver, name, true
  end

  node.block = block
  node
end
process_file(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 279
def process_file(line)
  AST::File.new line
end
process_fixnum(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 283
def process_fixnum(line, value)
  AST::FixnumLiteral.new line, value
end
process_flip2(line, start, finish) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 287
def process_flip2(line, start, finish)
  AST::Flip2.new line, start, finish
end
process_flip3(line, start, finish) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 291
def process_flip3(line, start, finish)
  AST::Flip3.new line, start, finish
end
process_float(line, str) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 295
def process_float(line, str)
  AST::FloatLiteral.new line, str
end
process_for(line, iter, arguments, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 299
def process_for(line, iter, arguments, body)
  send = AST::Send.new line, iter, :each
  send.block = AST::For.new line, arguments, body
  send
end
process_fun(line, name, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 305
def process_fun(line, name, body)
  AST::DefineFunction.new line, name, body
end
process_gasgn(line, name, expr) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 309
def process_gasgn(line, name, expr)
  AST::GlobalVariableAssignment.new line, name, expr
end
process_gvar(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 313
def process_gvar(line, name)
  AST::GlobalVariableAccess.for_name line, name
end
process_hash(line, array) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 317
def process_hash(line, array)
  AST::HashLiteral.new line, array
end
process_iasgn(line, name, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 321
def process_iasgn(line, name, value)
  AST::InstanceVariableAssignment.new line, name, value
end
process_if(line, cond, body, else_body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 325
def process_if(line, cond, body, else_body)
  AST::If.new line, cond, body, else_body
end
process_imaginary(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 329
def process_imaginary(line, value)
  AST::ImaginaryLiteral.new line, value
end
process_iter(line, method_send, scope) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 333
def process_iter(line, method_send, scope)
  ary = scope && scope.array || []
  arguments = nil

  if ary.first.kind_of? AST::Parameters
    arguments = scope.array.shift
  end

  unless arguments
    arguments = AST::Parameters.new line
  end

  case ary.size
  when 0
    body = nil
  when 1
    if scope.locals
      body = scope
    else
      body = scope.array.shift
    end
  else
    body = scope
  end

  method_send.block = AST::Iter.new line, arguments, body
  method_send
end
process_ivar(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 362
def process_ivar(line, name)
  AST::InstanceVariableAccess.new line, name
end
process_kw_arg(line, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 366
def process_kw_arg(line, arguments)
  AST::Block.new line, arguments
end
process_lambda(line, scope) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 370
def process_lambda(line, scope)
  arguments = scope.array.shift
  if scope.array.size == 1
    body = scope.array.shift
  else
    body = scope
  end

  AST::Lambda.new line, arguments, body
end
process_lasgn(line, name, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 382
def process_lasgn(line, name, value)
  AST::LocalVariableAssignment.new line, name, value
end
process_lit(line, sym) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 386
def process_lit(line, sym)
  AST::SymbolLiteral.new line, sym
end
process_lvar(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 390
def process_lvar(line, name)
  AST::LocalVariableAccess.new line, name
end
process_masgn(line, left, right, splat) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 394
def process_masgn(line, left, right, splat)
  AST::MultipleAssignment.new line, left, right, splat
end
process_match(line, pattern, flags) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 398
def process_match(line, pattern, flags)
  AST::Match.new line, pattern, flags
end
process_match2(line, pattern, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 402
def process_match2(line, pattern, value)
  AST::Match2.new line, pattern, value
end
process_match3(line, pattern, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 406
def process_match3(line, pattern, value)
  AST::Match3.new line, pattern, value
end
process_missing_node(line, node_name, node_type) click to toggle source

This method is analogous to method_missing. It is called if there is no processing method defined for a node.

# File lib/rubinius/code/processor/processor.rb, line 17
def process_missing_node(line, node_name, node_type)
  puts "Unhandled node #{node_name} (#{node_type})"
end
process_module(line, name, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 410
def process_module(line, name, body)
  AST::Module.new line, name, body
end
process_negate(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 414
def process_negate(line, value)
  AST::Negate.new line, value
end
process_next(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 418
def process_next(line, value)
  AST::Next.new line, value
end
process_nil(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 422
def process_nil(line)
  AST::NilLiteral.new line
end
process_not(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 426
def process_not(line, value)
  AST::Not.new line, value
end
process_nth_ref(line, ref) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 430
def process_nth_ref(line, ref)
  AST::NthRef.new line, ref
end
process_number(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 434
def process_number(line, value)
  case value
  when Fixnum
    AST::FixnumLiteral.new line, value
  when Bignum
    AST::NumberLiteral.new line, value
  end
end
process_op_asgn1(line, receiver, index, op, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 443
def process_op_asgn1(line, receiver, index, op, value)
  AST::OpAssignElement.new line, receiver, index, op, value
end
process_op_asgn2(line, receiver, anddot, name, op, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 447
def process_op_asgn2(line, receiver, anddot, name, op, value)
  if anddot
    AST::AndOpAssignAttribute.new line, receiver, name, op, value
  else
    AST::OpAssignAttribute.new line, receiver, name, op, value
  end
end
process_op_asgn_and(line, var, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 455
def process_op_asgn_and(line, var, value)
  AST::OpAssignAnd.new line, var, value
end
process_op_asgn_or(line, var, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 459
def process_op_asgn_or(line, var, value)
  AST::OpAssignOr.new line, var, value
end
process_op_cdecl(line, var, value, op) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 463
def process_op_cdecl(line, var, value, op)
  op_value = case op
  when :and
    AST::And.new line, var, value
  when :or
    AST::Or.new line, var, value
  else
    args = AST::ArrayLiteral.new line, [value]
    AST::SendWithArguments.new line, var, op, args
  end
  AST::ConstantAssignment.new line, var, op_value
end
process_opt_arg(line, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 476
def process_opt_arg(line, arguments)
  AST::Block.new line, arguments
end
process_or(line, left, right) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 480
def process_or(line, left, right)
  AST::Or.new line, left, right
end
process_parse_error(message, column, line, source) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 5
def process_parse_error(message, column, line, source)
  msg = "#{message}: #{@name}:#{line}:#{column}"
  @syntax_errors << SyntaxError.from(msg, column, line, source, @name)
end
process_postarg(line, into, rest) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 484
def process_postarg(line, into, rest)
  AST::PostArg.new line, into, rest
end
process_postexe(line, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 488
def process_postexe(line, body)
  node = AST::Send.new line, AST::Self.new(line), :at_exit, true
  node.block = AST::Iter.new line, nil, body
  node
end
process_preexe(line, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 494
def process_preexe(line, body)
  node = AST::PreExe19.new line
  node.block = AST::Iter.new line, nil, body
  add_pre_exe node
  node
end
process_qcall(line, receiver, name, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 113
def process_qcall(line, receiver, name, arguments)
  if arguments.kind_of? AST::BlockPass
    block = arguments
    arguments = block.arguments
    block.arguments = nil
  else
    block = nil
  end

  if node = process_transforms(line, receiver, name, arguments)
    node.block = block if block
    return node
  end

  if arguments
    node = AST::AndSendWithArguments.new line, receiver, name, arguments
  else
    node = AST::AndSend.new line, receiver, name
  end

  node.block = block
  node
end
process_rational(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 501
def process_rational(line, value)
  AST::RationalLiteral.new line, value
end
process_redo(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 505
def process_redo(line)
  AST::Redo.new line
end
process_regex(line, str, flags) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 511
def process_regex(line, str, flags)
  if flags == REGEXP_OPTION_PEG
    AST::PEGLiteral.new line, str
  else
    AST::RegexLiteral.new line, str, flags
  end
end
process_resbody(line, conditions, body, nxt) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 519
def process_resbody(line, conditions, body, nxt)
  AST::RescueCondition.new line, conditions, body, nxt
end
process_rescue(line, body, rescue_body, else_body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 523
def process_rescue(line, body, rescue_body, else_body)
  AST::Rescue.new line, body, rescue_body, else_body
end
process_retry(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 527
def process_retry(line)
  AST::Retry.new line
end
process_return(line, value) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 531
def process_return(line, value)
  AST::Return.new line, value
end
process_sclass(line, receiver, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 535
def process_sclass(line, receiver, body)
  AST::SClass.new line, receiver, body
end
process_scope(line, arguments, body, locals) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 539
def process_scope(line, arguments, body, locals)
  case body
  when AST::Begin
    if body.rescue.kind_of? AST::NilLiteral
      return nil unless arguments
    end
    body = AST::Block.new line, [body.rescue]
  when AST::Block
    ary = body.array
    if ary.size > 1 and
       ary.first.kind_of?(AST::Begin) and
       ary.first.rescue.kind_of?(AST::NilLiteral)
      ary.shift
    end
  when nil
    # Nothing
  else
    body = AST::Block.new line, [body]
  end

  if arguments and body
    body.array.unshift arguments
  end

  body.locals = locals if locals

  body
end
process_self(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 568
def process_self(line)
  AST::Self.new line
end
process_splat(line, expr) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 572
def process_splat(line, expr)
  AST::SplatValue.new line, expr
end
process_str(line, str) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 576
def process_str(line, str)
  AST::StringLiteral.new line, str
end
process_super(line, arguments) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 580
def process_super(line, arguments)
  if arguments.kind_of? AST::BlockPass
    block = arguments
    arguments = block.arguments
    block.arguments = nil
  else
    block = nil
  end

  node = AST::Super.new line, arguments
  node.block = block
  node
end
process_svalue(line, expr) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 594
def process_svalue(line, expr)
  AST::SValue.new line, expr
end
process_to_ary(line, expr) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 598
def process_to_ary(line, expr)
  AST::ToArray.new line, expr
end
process_true(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 602
def process_true(line)
  AST::TrueLiteral.new line
end
process_undef(line, sym) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 606
def process_undef(line, sym)
  AST::Undef.new line, sym
end
process_until(line, cond, body, check_first) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 610
def process_until(line, cond, body, check_first)
  AST::Until.new line, cond, body, check_first
end
process_valias(line, to, from) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 624
def process_valias(line, to, from)
  AST::VAlias.new line, to, from
end
process_values(line, first, rest) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 628
def process_values(line, first, rest)
  rest.body.unshift first
  rest
end
process_vcall(line, name) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 614
def process_vcall(line, name)
  receiver = AST::Self.new line

  if node = process_transforms(line, receiver, name, nil, true)
    return node
  end

  AST::Send.new line, receiver, name, true, true
end
process_when(line, conditions, body) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 633
def process_when(line, conditions, body)
  AST::When.new line, conditions, body
end
process_while(line, cond, body, check_first) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 637
def process_while(line, cond, body, check_first)
  AST::While.new line, cond, body, check_first
end
process_xstr(line, str) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 641
def process_xstr(line, str)
  AST::ExecuteString.new line, str
end
process_yield(line, arguments, unwrap) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 645
def process_yield(line, arguments, unwrap)
  AST::Yield.new line, arguments, unwrap
end
process_zarray(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 649
def process_zarray(line)
  AST::EmptyArray.new line
end
process_zsuper(line) click to toggle source
# File lib/rubinius/code/processor/processor.rb, line 653
def process_zsuper(line)
  AST::ZSuper.new line
end