Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 #ifndef RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ | 5 #ifndef RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ |
| 6 #define RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ | 6 #define RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ |
| 7 | 7 |
| 8 #if !defined(DART_PRECOMPILED_RUNTIME) | 8 #if !defined(DART_PRECOMPILED_RUNTIME) |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 50 | 50 |
| 51 class TypeParameterScope { | 51 class TypeParameterScope { |
| 52 public: | 52 public: |
| 53 TypeParameterScope(StreamingDartTypeTranslator* translator, | 53 TypeParameterScope(StreamingDartTypeTranslator* translator, |
| 54 intptr_t parameters_offset, | 54 intptr_t parameters_offset, |
| 55 intptr_t parameters_count) | 55 intptr_t parameters_count) |
| 56 : parameters_offset_(parameters_offset), | 56 : parameters_offset_(parameters_offset), |
| 57 parameters_count_(parameters_count), | 57 parameters_count_(parameters_count), |
| 58 outer_(translator->type_parameter_scope_), | 58 outer_(translator->type_parameter_scope_), |
| 59 translator_(translator) { | 59 translator_(translator) { |
| 60 summed_outer_parameters_count_ = 0; | |
|
Kevin Millikin (Google)
2017/08/08 14:08:51
summed_ seems like a noise word and I wouldn't mak
jensj
2017/08/09 08:39:47
Done.
| |
| 61 if (outer_ != NULL) { | |
| 62 summed_outer_parameters_count_ = | |
| 63 outer_->summed_outer_parameters_count_ + outer_->parameters_count_; | |
| 64 } | |
| 60 translator_->type_parameter_scope_ = this; | 65 translator_->type_parameter_scope_ = this; |
| 61 } | 66 } |
| 62 ~TypeParameterScope() { translator_->type_parameter_scope_ = outer_; } | 67 ~TypeParameterScope() { translator_->type_parameter_scope_ = outer_; } |
| 63 | 68 |
| 64 TypeParameterScope* outer() const { return outer_; } | 69 TypeParameterScope* outer() const { return outer_; } |
| 65 intptr_t parameters_offset() const { return parameters_offset_; } | 70 intptr_t parameters_offset() const { return parameters_offset_; } |
| 66 intptr_t parameters_count() const { return parameters_count_; } | 71 intptr_t parameters_count() const { return parameters_count_; } |
| 72 intptr_t summed_outer_parameters_count() const { | |
| 73 return summed_outer_parameters_count_; | |
| 74 } | |
| 67 | 75 |
| 68 private: | 76 private: |
| 69 intptr_t parameters_offset_; | 77 intptr_t parameters_offset_; |
| 70 intptr_t parameters_count_; | 78 intptr_t parameters_count_; |
| 79 intptr_t summed_outer_parameters_count_; | |
| 71 TypeParameterScope* outer_; | 80 TypeParameterScope* outer_; |
| 72 StreamingDartTypeTranslator* translator_; | 81 StreamingDartTypeTranslator* translator_; |
| 73 }; | 82 }; |
| 74 | 83 |
| 75 intptr_t FindTypeParameterIndex(intptr_t parameters_offset, | 84 intptr_t FindTypeParameterIndex(intptr_t parameters_offset, |
| 76 intptr_t parameters_count, | 85 intptr_t parameters_count, |
| 77 intptr_t look_for); | 86 intptr_t look_for); |
| 78 | 87 |
| 79 StreamingFlowGraphBuilder* builder_; | 88 StreamingFlowGraphBuilder* builder_; |
| 80 TranslationHelper& translation_helper_; | 89 TranslationHelper& translation_helper_; |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 339 GrowableArray<intptr_t>* record_token_positions_in, | 348 GrowableArray<intptr_t>* record_token_positions_in, |
| 340 GrowableArray<intptr_t>* record_yield_positions_in); | 349 GrowableArray<intptr_t>* record_yield_positions_in); |
| 341 intptr_t SourceTableSize(); | 350 intptr_t SourceTableSize(); |
| 342 String& SourceTableUriFor(intptr_t index); | 351 String& SourceTableUriFor(intptr_t index); |
| 343 String& GetSourceFor(intptr_t index); | 352 String& GetSourceFor(intptr_t index); |
| 344 Array& GetLineStartsFor(intptr_t index); | 353 Array& GetLineStartsFor(intptr_t index); |
| 345 | 354 |
| 346 private: | 355 private: |
| 347 void DiscoverEnclosingElements(Zone* zone, | 356 void DiscoverEnclosingElements(Zone* zone, |
| 348 const Function& function, | 357 const Function& function, |
| 349 Function* outermost_function, | 358 Function* outermost_function); |
| 350 intptr_t* outermost_kernel_offset, | |
| 351 intptr_t* parent_class_offset); | |
| 352 intptr_t GetParentOffset(intptr_t offset); | |
| 353 void GetTypeParameterInfoForClass(intptr_t class_offset, | |
| 354 intptr_t* type_paremeter_counts, | |
| 355 intptr_t* type_paremeter_offset); | |
| 356 | 359 |
| 357 void GetTypeParameterInfoForPossibleProcedure( | |
| 358 intptr_t outermost_kernel_offset, | |
| 359 bool* member_is_procedure, | |
| 360 bool* is_factory_procedure, | |
| 361 intptr_t* member_type_parameters, | |
| 362 intptr_t* member_type_parameters_offset_start); | |
| 363 /** | 360 /** |
| 364 * Will return kernel offset for parent class if reading a constructor. | 361 * Will return kernel offset for parent class if reading a constructor. |
| 365 * Will otherwise return -1. | 362 * Will otherwise return -1. |
| 366 */ | 363 */ |
| 367 intptr_t ReadUntilFunctionNode(); | 364 intptr_t ReadUntilFunctionNode(); |
| 368 StringIndex GetNameFromVariableDeclaration(intptr_t kernel_offset); | 365 StringIndex GetNameFromVariableDeclaration(intptr_t kernel_offset); |
| 369 | 366 |
| 370 FlowGraph* BuildGraphOfStaticFieldInitializer(); | 367 FlowGraph* BuildGraphOfStaticFieldInitializer(); |
| 371 FlowGraph* BuildGraphOfFieldAccessor(LocalVariable* setter_value); | 368 FlowGraph* BuildGraphOfFieldAccessor(LocalVariable* setter_value); |
| 372 void SetupDefaultParameterValues(); | 369 void SetupDefaultParameterValues(); |
| (...skipping 1171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1544 private: | 1541 private: |
| 1545 Reader* reader_; | 1542 Reader* reader_; |
| 1546 intptr_t saved_offset_; | 1543 intptr_t saved_offset_; |
| 1547 }; | 1544 }; |
| 1548 | 1545 |
| 1549 } // namespace kernel | 1546 } // namespace kernel |
| 1550 } // namespace dart | 1547 } // namespace dart |
| 1551 | 1548 |
| 1552 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 1549 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| 1553 #endif // RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ | 1550 #endif // RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ |
| OLD | NEW |