mirror of
https://github.com/rubyjs/therubyracer
synced 2023-03-27 23:21:42 -04:00
remove hacks around number usage
This commit is contained in:
parent
18c07758a9
commit
712ad9318b
5 changed files with 10 additions and 18 deletions
|
@ -5,10 +5,8 @@
|
|||
namespace rr {
|
||||
class Integer : public Ref<v8::Integer> {
|
||||
public:
|
||||
Integer(v8::Isolate* isolate, int32_t value) :
|
||||
Ref<v8::Integer>(isolate, v8::Integer::New(isolate, value)) {}
|
||||
Integer(v8::Isolate* isolate, uint32_t value) :
|
||||
Ref<v8::Integer>(isolate, v8::Integer::NewFromUnsigned(isolate, value)) {}
|
||||
Integer(v8::Isolate* isolate, v8::Handle<v8::Integer> integer) :
|
||||
Ref<v8::Integer>(isolate, integer) {}
|
||||
Integer(VALUE self) :
|
||||
Ref<v8::Integer>(self) {}
|
||||
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
namespace rr {
|
||||
class Number : public Ref<v8::Number> {
|
||||
public:
|
||||
Number(v8::Isolate* isolate, double value) :
|
||||
Ref<v8::Number>(isolate, v8::Number::New(isolate, value)) {}
|
||||
Number(v8::Isolate* isolate, v8::Handle<v8::Value> value) :
|
||||
Ref<v8::Number>(isolate, value.As<v8::Number>()) {}
|
||||
Number(VALUE self) :
|
||||
|
@ -16,7 +14,7 @@ namespace rr {
|
|||
Isolate isolate(r_isolate);
|
||||
Locker lock(isolate);
|
||||
|
||||
return Number(isolate, NUM2DBL(value));
|
||||
return Number(isolate, v8::Number::New(isolate, NUM2DBL(value)));
|
||||
}
|
||||
|
||||
static VALUE Value(VALUE self) {
|
||||
|
|
|
@ -35,11 +35,7 @@ namespace rr {
|
|||
VALUE is_opaque; //option
|
||||
|
||||
};
|
||||
struct Integer : public Equiv {
|
||||
Integer(v8::Handle<v8::Integer> value) :
|
||||
Equiv(INT2FIX(value->IntegerValue())) {
|
||||
}
|
||||
};
|
||||
|
||||
public:
|
||||
static void Init();
|
||||
|
||||
|
@ -52,10 +48,10 @@ namespace rr {
|
|||
ScriptOrigin(v8::Isolate* isolate, v8::ScriptOrigin origin) :
|
||||
ScriptOrigin(new Container(
|
||||
Value(isolate, origin.ResourceName()),
|
||||
Integer(origin.ResourceLineOffset()),
|
||||
Integer(origin.ResourceColumnOffset()),
|
||||
Integer(isolate, origin.ResourceLineOffset()),
|
||||
Integer(isolate, origin.ResourceColumnOffset()),
|
||||
Bool(origin.Options().IsSharedCrossOrigin()),
|
||||
Integer(origin.ScriptID()),
|
||||
Integer(isolate, origin.ScriptID()),
|
||||
Bool(origin.Options().IsEmbedderDebugScript()),
|
||||
Value(isolate, origin.SourceMapUrl()),
|
||||
Bool(origin.Options().IsOpaque()))) {
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace rr {
|
|||
|
||||
store(&Class);
|
||||
|
||||
rb_gc_register_address(&Empty);
|
||||
rb_gc_register_address(&Empty);
|
||||
}
|
||||
|
||||
VALUE Value::IsUndefined(VALUE self) {
|
||||
|
|
|
@ -7,8 +7,8 @@ describe V8::C::Function do
|
|||
fn = run '(function() { return "foo" })'
|
||||
origin = fn.GetScriptOrigin()
|
||||
expect(origin.ResourceName().ToString().Utf8Value()).to eql 'undefined'
|
||||
expect(origin.ResourceLineOffset()).to eql 0
|
||||
expect(origin.ResourceColumnOffset()).to eql 0
|
||||
expect(origin.ResourceLineOffset().Value()).to eql 0
|
||||
expect(origin.ResourceColumnOffset().Value()).to eql 0
|
||||
end
|
||||
|
||||
it 'can be called' do
|
||||
|
|
Loading…
Add table
Reference in a new issue