Index: runtime/vm/kernel_binary_flowgraph.h |
diff --git a/runtime/vm/kernel_binary_flowgraph.h b/runtime/vm/kernel_binary_flowgraph.h |
index c645744049f19ba6b9746fdb7a34a5edf784a083..6f6161e9c629e1499353df5748f4de1875aed0a9 100644 |
--- a/runtime/vm/kernel_binary_flowgraph.h |
+++ b/runtime/vm/kernel_binary_flowgraph.h |
@@ -57,6 +57,11 @@ class StreamingDartTypeTranslator { |
parameters_count_(parameters_count), |
outer_(translator->type_parameter_scope_), |
translator_(translator) { |
+ summed_outer_parameters_count_ = 0; |
+ if (outer_ != NULL) { |
+ summed_outer_parameters_count_ = |
+ outer_->summed_outer_parameters_count_ + outer_->parameters_count_; |
+ } |
translator_->type_parameter_scope_ = this; |
} |
~TypeParameterScope() { |
@@ -66,10 +71,14 @@ class StreamingDartTypeTranslator { |
TypeParameterScope* outer() const { return outer_; } |
intptr_t parameters_offset() const { return parameters_offset_; } |
intptr_t parameters_count() const { return parameters_count_; } |
+ intptr_t summed_outer_parameters_count() const { |
+ return summed_outer_parameters_count_; |
+ } |
private: |
intptr_t parameters_offset_; |
intptr_t parameters_count_; |
+ intptr_t summed_outer_parameters_count_; |
TypeParameterScope* outer_; |
StreamingDartTypeTranslator* translator_; |
}; |
@@ -349,20 +358,8 @@ class StreamingFlowGraphBuilder { |
private: |
void DiscoverEnclosingElements(Zone* zone, |
const Function& function, |
- Function* outermost_function, |
- intptr_t* outermost_kernel_offset, |
- intptr_t* parent_class_offset); |
- intptr_t GetParentOffset(intptr_t offset); |
- void GetTypeParameterInfoForClass(intptr_t class_offset, |
- intptr_t* type_paremeter_counts, |
- intptr_t* type_paremeter_offset); |
- |
- void GetTypeParameterInfoForPossibleProcedure( |
- intptr_t outermost_kernel_offset, |
- bool* member_is_procedure, |
- bool* is_factory_procedure, |
- intptr_t* member_type_parameters, |
- intptr_t* member_type_parameters_offset_start); |
+ Function* outermost_function); |
+ |
/** |
* Will return kernel offset for parent class if reading a constructor. |
* Will otherwise return -1. |