module V8::Conversion::Constructor::Args

def construct(cls)

def construct(cls)
  context.link cls.new(*to_args), This()
end

def context

def context
  V8::Context.current
end

def link

def link
  external = self[0]
  This().SetHiddenValue("rr::implementation", external)
  context.link external.Value(), This()
end

def linkage_call?

def linkage_call?
  self.Length() == 1 && self[0].IsExternal()
end

def to_args

def to_args
  args = ::Array.new(Length())
  0.upto(args.length - 1) do |i|
    args[i] = self[i]
  end
  return args
end