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

Side by Side Diff: src/builtins/builtins-regexp.cc

Issue 2442333002: [regexp] Mark functions MUST_USE_RESULT (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « no previous file | src/regexp/regexp-utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project 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 "src/builtins/builtins-utils.h" 5 #include "src/builtins/builtins-utils.h"
6 #include "src/builtins/builtins.h" 6 #include "src/builtins/builtins.h"
7 7
8 #include "src/code-factory.h" 8 #include "src/code-factory.h"
9 #include "src/regexp/jsregexp.h" 9 #include "src/regexp/jsregexp.h"
10 #include "src/regexp/regexp-utils.h" 10 #include "src/regexp/regexp-utils.h"
(...skipping 21 matching lines...) Expand all
32 if ((flags & JSRegExp::kSticky) != 0) flags_string[i++] = 'y'; 32 if ((flags & JSRegExp::kSticky) != 0) flags_string[i++] = 'y';
33 33
34 DCHECK_LT(i, kMaxFlagsLength); 34 DCHECK_LT(i, kMaxFlagsLength);
35 memset(&flags_string[i], '\0', kMaxFlagsLength - i); 35 memset(&flags_string[i], '\0', kMaxFlagsLength - i);
36 36
37 return isolate->factory()->NewStringFromAsciiChecked(flags_string); 37 return isolate->factory()->NewStringFromAsciiChecked(flags_string);
38 } 38 }
39 39
40 // ES#sec-regexpinitialize 40 // ES#sec-regexpinitialize
41 // Runtime Semantics: RegExpInitialize ( obj, pattern, flags ) 41 // Runtime Semantics: RegExpInitialize ( obj, pattern, flags )
42 MaybeHandle<JSRegExp> RegExpInitialize(Isolate* isolate, 42 MUST_USE_RESULT MaybeHandle<JSRegExp> RegExpInitialize(Isolate* isolate,
43 Handle<JSRegExp> regexp, 43 Handle<JSRegExp> regexp,
44 Handle<Object> pattern, 44 Handle<Object> pattern,
45 Handle<Object> flags) { 45 Handle<Object> flags) {
46 Handle<String> pattern_string; 46 Handle<String> pattern_string;
47 if (pattern->IsUndefined(isolate)) { 47 if (pattern->IsUndefined(isolate)) {
48 pattern_string = isolate->factory()->empty_string(); 48 pattern_string = isolate->factory()->empty_string();
49 } else { 49 } else {
50 ASSIGN_RETURN_ON_EXCEPTION(isolate, pattern_string, 50 ASSIGN_RETURN_ON_EXCEPTION(isolate, pattern_string,
51 Object::ToString(isolate, pattern), JSRegExp); 51 Object::ToString(isolate, pattern), JSRegExp);
52 } 52 }
53 53
54 Handle<String> flags_string; 54 Handle<String> flags_string;
55 if (flags->IsUndefined(isolate)) { 55 if (flags->IsUndefined(isolate)) {
(...skipping 1278 matching lines...) Expand 10 before | Expand all | Expand 10 after
1334 } 1334 }
1335 1335
1336 start_index = current_index = end_index; 1336 start_index = current_index = end_index;
1337 } 1337 }
1338 1338
1339 return NewJSArrayWithElements(isolate, elems, num_elems); 1339 return NewJSArrayWithElements(isolate, elems, num_elems);
1340 } 1340 }
1341 1341
1342 // ES##sec-speciesconstructor 1342 // ES##sec-speciesconstructor
1343 // SpeciesConstructor ( O, defaultConstructor ) 1343 // SpeciesConstructor ( O, defaultConstructor )
1344 MaybeHandle<Object> SpeciesConstructor(Isolate* isolate, 1344 MUST_USE_RESULT MaybeHandle<Object> SpeciesConstructor(
1345 Handle<JSReceiver> recv, 1345 Isolate* isolate, Handle<JSReceiver> recv,
1346 Handle<JSFunction> default_ctor) { 1346 Handle<JSFunction> default_ctor) {
1347 Handle<Object> ctor_obj; 1347 Handle<Object> ctor_obj;
1348 ASSIGN_RETURN_ON_EXCEPTION( 1348 ASSIGN_RETURN_ON_EXCEPTION(
1349 isolate, ctor_obj, 1349 isolate, ctor_obj,
1350 JSObject::GetProperty(recv, isolate->factory()->constructor_string()), 1350 JSObject::GetProperty(recv, isolate->factory()->constructor_string()),
1351 Object); 1351 Object);
1352 1352
1353 if (ctor_obj->IsUndefined(isolate)) return default_ctor; 1353 if (ctor_obj->IsUndefined(isolate)) return default_ctor;
1354 1354
1355 if (!ctor_obj->IsJSReceiver()) { 1355 if (!ctor_obj->IsJSReceiver()) {
1356 THROW_NEW_ERROR(isolate, 1356 THROW_NEW_ERROR(isolate,
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after
2010 a->Bind(&if_matched); 2010 a->Bind(&if_matched);
2011 { 2011 {
2012 Node* result = ConstructNewResultFromMatchInfo(isolate, a, context, 2012 Node* result = ConstructNewResultFromMatchInfo(isolate, a, context,
2013 match_indices, string); 2013 match_indices, string);
2014 a->Return(result); 2014 a->Return(result);
2015 } 2015 }
2016 } 2016 }
2017 2017
2018 } // namespace internal 2018 } // namespace internal
2019 } // namespace v8 2019 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/regexp/regexp-utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698