class Opal::Nodes::RuntimeHelpers

def self.compatible?(recvr, meth)

def self.compatible?(recvr, meth)
  recvr == s(:const, nil, :Opal) && HELPERS.include?(meth.to_sym)
end

def self.helper(name, &block)

def self.helper(name, &block)
  HELPERS << name
  define_method("compile_#{name}", &block)
end

def self.s(type, *children)

def self.s(type, *children)
  ::Opal::AST::Node.new(type, children)
end

def compile

def compile
  if HELPERS.include?(meth.to_sym)
    __send__("compile_#{meth}")
  else
    raise "Helper not supported: #{meth}"
  end
end