class CodeTools::AST::PEGLiteral

Attributes

source[RW]

Public Class Methods

new(line, str) click to toggle source
# File lib/rubinius/code/ast/literals.rb, line 355
def initialize(line, str)
  @line = line
  @source = str
end

Public Instance Methods

bytecode(g) click to toggle source
# File lib/rubinius/code/ast/literals.rb, line 360
def bytecode(g)
  pos(g)
  build = g.new_label
  done = g.new_label

  g.push_tagged_nil 0

  build.set!
  g.push_memo nil
  g.dup
  g.goto_if_not_nil done

  g.pop
  g.push_rubinius
  g.find_const :PEG
  g.push_literal @source
  g.send :compile, 1
  g.goto build

  done.set!
end