diff --git a/src/liveedit.cc b/src/liveedit.cc index 5a8749e513..41523a82aa 100644 --- a/src/liveedit.cc +++ b/src/liveedit.cc @@ -617,9 +617,33 @@ class FunctionInfoListener { current_parent_index_ = info.GetParentIndex(); } -// TODO(LiveEdit): Move private method below. -// This private section was created here to avoid moving the function -// to keep already complex diff simpler. + public: + // Saves only function code, because for a script function we + // may never create a SharedFunctionInfo object. + void FunctionCode(Handle function_code) { + FunctionInfoWrapper info = + FunctionInfoWrapper::cast(result_->GetElement(current_parent_index_)); + info.SetFunctionCode(function_code, Handle(Heap::null_value())); + } + + // Saves full information about a function: its code, its scope info + // and a SharedFunctionInfo object. + void FunctionInfo(Handle shared, Scope* scope) { + if (!shared->IsSharedFunctionInfo()) { + return; + } + FunctionInfoWrapper info = + FunctionInfoWrapper::cast(result_->GetElement(current_parent_index_)); + info.SetFunctionCode(Handle(shared->code()), + Handle(shared->scope_info())); + info.SetSharedFunctionInfo(shared); + + Handle scope_info_list(SerializeFunctionScope(scope)); + info.SetOuterScopeInfo(scope_info_list); + } + + Handle GetResult() { return result_; } + private: Object* SerializeFunctionScope(Scope* scope) { HandleScope handle_scope; @@ -676,36 +700,6 @@ class FunctionInfoListener { return *scope_info_list; } - public: - // Saves only function code, because for a script function we - // may never create a SharedFunctionInfo object. - void FunctionCode(Handle function_code) { - FunctionInfoWrapper info = - FunctionInfoWrapper::cast(result_->GetElement(current_parent_index_)); - info.SetFunctionCode(function_code, Handle(Heap::null_value())); - } - - // Saves full information about a function: its code, its scope info - // and a SharedFunctionInfo object. - void FunctionInfo(Handle shared, Scope* scope) { - if (!shared->IsSharedFunctionInfo()) { - return; - } - FunctionInfoWrapper info = - FunctionInfoWrapper::cast(result_->GetElement(current_parent_index_)); - info.SetFunctionCode(Handle(shared->code()), - Handle(shared->scope_info())); - info.SetSharedFunctionInfo(shared); - - Handle scope_info_list(SerializeFunctionScope(scope)); - info.SetOuterScopeInfo(scope_info_list); - } - - Handle GetResult() { - return result_; - } - - private: Handle result_; int len_; int current_parent_index_;