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

Side by Side Diff: runtime/vm/parser.cc

Issue 2591823002: Introduce a SignatureData class so that signature functions can store both their (Closed)
Patch Set: address comments Created 4 years 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 | « runtime/vm/object_service.cc ('k') | runtime/vm/raw_object.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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/parser.h" 5 #include "vm/parser.h"
6 #include "vm/flags.h" 6 #include "vm/flags.h"
7 7
8 #ifndef DART_PRECOMPILED_RUNTIME 8 #ifndef DART_PRECOMPILED_RUNTIME
9 9
10 #include "lib/invocation_mirror.h" 10 #include "lib/invocation_mirror.h"
(...skipping 2071 matching lines...) Expand 10 before | Expand all | Expand 10 after
2082 &Object::dynamic_type()); 2082 &Object::dynamic_type());
2083 2083
2084 const bool no_explicit_default_values = false; 2084 const bool no_explicit_default_values = false;
2085 ParseFormalParameterList(no_explicit_default_values, false, &func_params); 2085 ParseFormalParameterList(no_explicit_default_values, false, &func_params);
2086 2086
2087 signature_function.set_result_type(result_type); 2087 signature_function.set_result_type(result_type);
2088 AddFormalParamsToFunction(&func_params, signature_function); 2088 AddFormalParamsToFunction(&func_params, signature_function);
2089 2089
2090 ASSERT(innermost_function().raw() == signature_function.raw()); 2090 ASSERT(innermost_function().raw() == signature_function.raw());
2091 innermost_function_ = signature_function.parent_function(); 2091 innermost_function_ = signature_function.parent_function();
2092 signature_function.set_data(Object::Handle(Z));
2093 2092
2094 Type& signature_type = 2093 Type& signature_type =
2095 Type::ZoneHandle(Z, signature_function.SignatureType()); 2094 Type::ZoneHandle(Z, signature_function.SignatureType());
2096 if (!is_top_level_) { 2095 if (!is_top_level_) {
2097 signature_type ^= ClassFinalizer::FinalizeType( 2096 signature_type ^= ClassFinalizer::FinalizeType(
2098 current_class(), signature_type, ClassFinalizer::kCanonicalize); 2097 current_class(), signature_type, ClassFinalizer::kCanonicalize);
2099 signature_function.SetSignatureType(signature_type); 2098 signature_function.SetSignatureType(signature_type);
2100 } 2099 }
2101 ASSERT(is_top_level_ || signature_type.IsFinalized()); 2100 ASSERT(is_top_level_ || signature_type.IsFinalized());
2102 // A signature type itself cannot be malformed or malbounded, only its 2101 // A signature type itself cannot be malformed or malbounded, only its
(...skipping 12440 matching lines...) Expand 10 before | Expand all | Expand 10 after
14543 const ArgumentListNode& function_args, 14542 const ArgumentListNode& function_args,
14544 const LocalVariable* temp_for_last_arg, 14543 const LocalVariable* temp_for_last_arg,
14545 bool is_super_invocation) { 14544 bool is_super_invocation) {
14546 UNREACHABLE(); 14545 UNREACHABLE();
14547 return NULL; 14546 return NULL;
14548 } 14547 }
14549 14548
14550 } // namespace dart 14549 } // namespace dart
14551 14550
14552 #endif // DART_PRECOMPILED_RUNTIME 14551 #endif // DART_PRECOMPILED_RUNTIME
OLDNEW
« no previous file with comments | « runtime/vm/object_service.cc ('k') | runtime/vm/raw_object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698