Sha256: ff71fe6414810bb4a6bc47d19a7e82fa881f1dfa9f028c640029a46fdae00b96

Contents?: true

Size: 1.88 KB

Versions: 9

Compression:

Stored size: 1.88 KB

Contents

#include "v8_msg.h"
#include "v8_ref.h"

using namespace v8;

namespace {
  VALUE MessageClass;
  
  Local<Message> unwrap(VALUE self) {
    return V8_Ref_Get<Message>(self);
  }
  
  VALUE Get(VALUE self) {
    Local<Message> message(unwrap(self));
    return rr_v82rb(message->Get());
  }

  VALUE GetSourceLine(VALUE self) {
    return rr_v82rb(unwrap(self)->GetSourceLine());
  }

  VALUE GetScriptResourceName(VALUE self) {
    return rr_v82rb(unwrap(self)->GetScriptResourceName());
  }

  VALUE GetStackTrace(VALUE self) {
    Handle<StackTrace> trace = unwrap(self)->GetStackTrace();
    return trace.IsEmpty() ? Qnil : rr_v82rb(trace);
  }

  VALUE GetLineNumber(VALUE self) {
    return rr_v82rb(unwrap(self)->GetLineNumber());
  }

  VALUE GetStartPosition(VALUE self) {
    return rr_v82rb(unwrap(self)->GetStartPosition());
  }

  VALUE GetEndPosition(VALUE self) {
    return rr_v82rb(unwrap(self)->GetEndPosition());
  }

  VALUE GetStartColumn(VALUE self) {
    return rr_v82rb(unwrap(self)->GetStartColumn());
  }

  VALUE GetEndColumn(VALUE self) {
    return rr_v82rb(unwrap(self)->GetEndColumn());
  }
}

void rr_init_msg() {
  MessageClass = rr_define_class("Message");
  rr_define_method(MessageClass, "Get", Get, 0);
  rr_define_method(MessageClass, "GetSourceLine", GetSourceLine, 0);
  rr_define_method(MessageClass, "GetScriptResourceName", GetScriptResourceName, 0);
  rr_define_method(MessageClass, "GetStackTrace", GetStackTrace, 0);
  rr_define_method(MessageClass, "GetLineNumber", GetLineNumber, 0);
  rr_define_method(MessageClass, "GetStartPosition", GetStartPosition, 0);
  rr_define_method(MessageClass, "GetEndPosition", GetEndPosition, 0);
  rr_define_method(MessageClass, "GetStartColumn", GetStartColumn, 0);
  rr_define_method(MessageClass, "GetEndColumn", GetEndColumn, 0);  
}

VALUE rr_reflect_v8_message(Handle<Message> value) {
  return rr_v8_ref_create(MessageClass, value);
}

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
therubyracer-0.8.2 ext/v8/v8_msg.cpp
therubyracer-0.8.2.pre2 ext/v8/v8_msg.cpp
therubyracer-0.8.2.pre ext/v8/v8_msg.cpp
therubyracer-0.8.1 ext/v8/v8_msg.cpp
therubyracer-0.8.1.pre2 ext/v8/v8_msg.cpp
therubyracer-heroku-0.8.1.pre3 ext/v8/v8_msg.cpp
therubyracer-heroku-0.8.1.pre2 ext/v8/v8_msg.cpp
therubyracer-0.8.1.pre1 ext/v8/v8_msg.cpp
therubyracer-0.8.0 ext/v8/v8_msg.cpp