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

Unified Diff: runtime/vm/kernel_binary_flowgraph.h

Issue 2973633002: [kernel] Change how TypeParameterType is calculated. (Closed)
Patch Set: Rebased Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/kernel_binary_flowgraph.h
diff --git a/runtime/vm/kernel_binary_flowgraph.h b/runtime/vm/kernel_binary_flowgraph.h
index daf12245225fbe6557dff61427841f0bb4142a09..5d07c19ff012cd6808a44aaf7a465e96e33d3aba 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;
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.
+ if (outer_ != NULL) {
+ summed_outer_parameters_count_ =
+ outer_->summed_outer_parameters_count_ + outer_->parameters_count_;
+ }
translator_->type_parameter_scope_ = this;
}
~TypeParameterScope() { translator_->type_parameter_scope_ = outer_; }
@@ -64,10 +69,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_;
};
@@ -346,20 +355,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.

Powered by Google App Engine
This is Rietveld 408576698