Chromium Code Reviews| Index: src/api.cc |
| diff --git a/src/api.cc b/src/api.cc |
| index a138e39f293e1610868415e4519559a2d0e426b6..e68c580d6d6a99f72b549ab3a6cab0b67bd9e57e 100644 |
| --- a/src/api.cc |
| +++ b/src/api.cc |
| @@ -2026,6 +2026,19 @@ Local<Value> Script::Id() { |
| } |
| +int Script::GetId() { |
| + i::Isolate* isolate = i::Isolate::Current(); |
| + ON_BAILOUT(isolate, "v8::Script::Id()", return -1); |
| + LOG_API(isolate, "Script::Id"); |
| + { |
| + i::HandleScope scope(isolate); |
| + i::Handle<i::SharedFunctionInfo> function_info = OpenScript(this); |
| + i::Handle<i::Script> script(i::Script::cast(function_info->script())); |
| + return script->id()->value(); |
| + } |
| +} |
| + |
| + |
| int Script::GetLineNumber(int code_pos) { |
| i::Isolate* isolate = i::Isolate::Current(); |
| ON_BAILOUT(isolate, "v8::Script::GetLineNumber()", return -1); |
| @@ -4326,6 +4339,7 @@ int Function::GetScriptColumnNumber() const { |
| return kLineOffsetNotFound; |
| } |
| + |
| Handle<Value> Function::GetScriptId() const { |
| i::Handle<i::JSFunction> func = Utils::OpenHandle(this); |
| if (!func->shared()->script()->IsScript()) |
| @@ -4334,6 +4348,16 @@ Handle<Value> Function::GetScriptId() const { |
| return Utils::ToLocal(i::Handle<i::Object>(script->id(), func->GetIsolate())); |
| } |
| + |
| +int Function::ScriptId() const { |
| + i::Handle<i::JSFunction> func = Utils::OpenHandle(this); |
| + if (!func->shared()->script()->IsScript()) |
| + return i::Script::kNoScriptId; |
|
yurys
2013/06/25 11:57:38
This should be a public constant.
Jakob Kummerow
2013/06/25 11:58:39
nit: {} please
loislo
2013/06/25 13:04:53
Done.
loislo
2013/06/25 13:04:53
Done.
|
| + i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); |
| + return script->id()->value(); |
| +} |
| + |
| + |
| int String::Length() const { |
| i::Handle<i::String> str = Utils::OpenHandle(this); |
| if (IsDeadCheck(str->GetIsolate(), "v8::String::Length()")) return 0; |