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

Unified Diff: pkg/compiler/lib/src/inferrer/type_graph_nodes.dart

Issue 2981613002: Parameterize TypeSystem by its node kind (Closed)
Patch Set: Updated cf. comments Created 3 years, 5 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
« no previous file with comments | « pkg/compiler/lib/src/inferrer/locals_handler.dart ('k') | pkg/compiler/lib/src/inferrer/type_system.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
diff --git a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
index d7bd3cf865fcbfab6235eef0f2fd143e56a06067..cf76bf66b1898e052fb150aefc22dde04e591868 100644
--- a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
+++ b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
@@ -1755,13 +1755,14 @@ class ValueInMapTypeInformation extends InferredTypeInformation {
* A [PhiElementTypeInformation] is an union of
* [ElementTypeInformation], that is local to a method.
*/
-class PhiElementTypeInformation extends TypeInformation {
- final ast.Node branchNode;
- final bool isLoopPhi;
+class PhiElementTypeInformation<T> extends TypeInformation {
+ final T branchNode;
final Local variable;
+ final bool isTry;
- PhiElementTypeInformation(MemberTypeInformation context, this.branchNode,
- this.isLoopPhi, this.variable)
+ PhiElementTypeInformation(
+ MemberTypeInformation context, this.branchNode, this.variable,
+ {this.isTry})
: super(context);
TypeMask computeType(InferrerEngine inferrer) {
@@ -1841,8 +1842,8 @@ abstract class TracedTypeInformation implements TypeInformation {
}
}
-class AwaitTypeInformation extends TypeInformation {
- final ast.Node _node;
+class AwaitTypeInformation<T> extends TypeInformation {
+ final T _node;
AwaitTypeInformation(MemberTypeInformation context, this._node)
: super(context);
@@ -1859,8 +1860,8 @@ class AwaitTypeInformation extends TypeInformation {
}
}
-class YieldTypeInformation extends TypeInformation {
- final ast.Node _node;
+class YieldTypeInformation<T> extends TypeInformation {
+ final T _node;
YieldTypeInformation(MemberTypeInformation context, this._node)
: super(context);
« no previous file with comments | « pkg/compiler/lib/src/inferrer/locals_handler.dart ('k') | pkg/compiler/lib/src/inferrer/type_system.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698