1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | #ifndef NAN_SCRIPTORIGIN_H_
|
10 | #define NAN_SCRIPTORIGIN_H_
|
11 |
|
12 | class ScriptOrigin : public v8::ScriptOrigin {
|
13 | public:
|
14 | #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 9 || \
|
15 | (V8_MAJOR_VERSION == 9 && (defined(V8_MINOR_VERSION) && (V8_MINOR_VERSION > 0\
|
16 | || (V8_MINOR_VERSION == 0 && defined(V8_BUILD_NUMBER) \
|
17 | && V8_BUILD_NUMBER >= 1)))))
|
18 | explicit ScriptOrigin(v8::Local<v8::Value> name) :
|
19 | v8::ScriptOrigin(v8::Isolate::GetCurrent(), name) {}
|
20 |
|
21 | ScriptOrigin(v8::Local<v8::Value> name
|
22 | , v8::Local<v8::Integer> line) :
|
23 | v8::ScriptOrigin(v8::Isolate::GetCurrent()
|
24 | , name
|
25 | , To<int32_t>(line).FromMaybe(0)) {}
|
26 |
|
27 | ScriptOrigin(v8::Local<v8::Value> name
|
28 | , v8::Local<v8::Integer> line
|
29 | , v8::Local<v8::Integer> column) :
|
30 | v8::ScriptOrigin(v8::Isolate::GetCurrent()
|
31 | , name
|
32 | , To<int32_t>(line).FromMaybe(0)
|
33 | , To<int32_t>(column).FromMaybe(0)) {}
|
34 | #elif defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 8 || \
|
35 | (V8_MAJOR_VERSION == 8 && (defined(V8_MINOR_VERSION) && (V8_MINOR_VERSION > 9\
|
36 | || (V8_MINOR_VERSION == 9 && defined(V8_BUILD_NUMBER) \
|
37 | && V8_BUILD_NUMBER >= 45)))))
|
38 | explicit ScriptOrigin(v8::Local<v8::Value> name) : v8::ScriptOrigin(name) {}
|
39 |
|
40 | ScriptOrigin(v8::Local<v8::Value> name
|
41 | , v8::Local<v8::Integer> line) :
|
42 | v8::ScriptOrigin(name, To<int32_t>(line).FromMaybe(0)) {}
|
43 |
|
44 | ScriptOrigin(v8::Local<v8::Value> name
|
45 | , v8::Local<v8::Integer> line
|
46 | , v8::Local<v8::Integer> column) :
|
47 | v8::ScriptOrigin(name
|
48 | , To<int32_t>(line).FromMaybe(0)
|
49 | , To<int32_t>(column).FromMaybe(0)) {}
|
50 | #else
|
51 | explicit ScriptOrigin(v8::Local<v8::Value> name) : v8::ScriptOrigin(name) {}
|
52 |
|
53 | ScriptOrigin(v8::Local<v8::Value> name
|
54 | , v8::Local<v8::Integer> line) : v8::ScriptOrigin(name, line) {}
|
55 |
|
56 | ScriptOrigin(v8::Local<v8::Value> name
|
57 | , v8::Local<v8::Integer> line
|
58 | , v8::Local<v8::Integer> column) :
|
59 | v8::ScriptOrigin(name, line, column) {}
|
60 | #endif
|
61 |
|
62 | #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 8 || \
|
63 | (V8_MAJOR_VERSION == 8 && (defined(V8_MINOR_VERSION) && (V8_MINOR_VERSION > 9\
|
64 | || (V8_MINOR_VERSION == 9 && defined(V8_BUILD_NUMBER) \
|
65 | && V8_BUILD_NUMBER >= 45)))))
|
66 | v8::Local<v8::Integer> ResourceLineOffset() const {
|
67 | return New(LineOffset());
|
68 | }
|
69 |
|
70 | v8::Local<v8::Integer> ResourceColumnOffset() const {
|
71 | return New(ColumnOffset());
|
72 | }
|
73 | #endif
|
74 | };
|
75 |
|
76 | #endif
|