Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(475)

Side by Side Diff: gin/arguments.cc

Issue 2824883002: [gin] Add Arguments::GetAll() (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gin/arguments.h" 5 #include "gin/arguments.h"
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "gin/converter.h" 8 #include "gin/converter.h"
9 9
10 namespace gin { 10 namespace gin {
(...skipping 14 matching lines...) Expand all
25 25
26 Arguments::~Arguments() { 26 Arguments::~Arguments() {
27 } 27 }
28 28
29 v8::Local<v8::Value> Arguments::PeekNext() const { 29 v8::Local<v8::Value> Arguments::PeekNext() const {
30 if (next_ >= info_->Length()) 30 if (next_ >= info_->Length())
31 return v8::Local<v8::Value>(); 31 return v8::Local<v8::Value>();
32 return (*info_)[next_]; 32 return (*info_)[next_];
33 } 33 }
34 34
35 std::vector<v8::Local<v8::Value>> Arguments::GetAll() const {
36 std::vector<v8::Local<v8::Value>> result;
37 int length = info_->Length();
38 if (length == 0)
39 return result;
40
41 result.reserve(length);
42 for (int i = 0; i < length; ++i)
43 result.push_back((*info_)[i]);
44
45 return result;
46 }
47
35 v8::Local<v8::Context> Arguments::GetHolderCreationContext() { 48 v8::Local<v8::Context> Arguments::GetHolderCreationContext() {
36 return info_->Holder()->CreationContext(); 49 return info_->Holder()->CreationContext();
37 } 50 }
38 51
39 std::string V8TypeAsString(v8::Local<v8::Value> value) { 52 std::string V8TypeAsString(v8::Local<v8::Value> value) {
40 if (value.IsEmpty()) 53 if (value.IsEmpty())
41 return "<empty handle>"; 54 return "<empty handle>";
42 if (value->IsUndefined()) 55 if (value->IsUndefined())
43 return "undefined"; 56 return "undefined";
44 if (value->IsNull()) 57 if (value->IsNull())
(...skipping 16 matching lines...) Expand all
61 void Arguments::ThrowTypeError(const std::string& message) const { 74 void Arguments::ThrowTypeError(const std::string& message) const {
62 isolate_->ThrowException(v8::Exception::TypeError( 75 isolate_->ThrowException(v8::Exception::TypeError(
63 StringToV8(isolate_, message))); 76 StringToV8(isolate_, message)));
64 } 77 }
65 78
66 bool Arguments::IsConstructCall() const { 79 bool Arguments::IsConstructCall() const {
67 return info_->IsConstructCall(); 80 return info_->IsConstructCall();
68 } 81 }
69 82
70 } // namespace gin 83 } // namespace gin
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698