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

Unified Diff: pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart

Issue 2468303003: dart2js: move type-mask intermediate data from tree-elements into the global (Closed)
Patch Set: bug fix: handle closures and constructor bodies Created 4 years, 1 month 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/ssa/builder.dart ('k') | pkg/compiler/lib/src/ssa/types.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
diff --git a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
index 71f6b549506b5da5d671887ea0bcbc6e9d3603f1..e581bca94c054fea09306e54be2ba30d14843cd6 100644
--- a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
+++ b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
@@ -63,9 +63,11 @@ class KernelAstAdapter {
Compiler get _compiler => _backend.compiler;
TreeElements get elements => _resolvedAst.elements;
- GlobalTypeInferenceResults get _inferenceResults =>
- _compiler.globalInference.results;
DiagnosticReporter get reporter => _compiler.reporter;
+ Element get _target => _resolvedAst.element;
+
+ GlobalTypeInferenceElementResult _resultOf(Element e) =>
+ _compiler.globalInference.results.resultOf(e);
ConstantValue getConstantForSymbol(ir.SymbolLiteral node) {
ast.Node astNode = getNode(node);
@@ -156,35 +158,33 @@ class KernelAstAdapter {
}
TypeMask typeOfInvocation(ir.Expression send) {
- return _inferenceResults.typeOfSend(getNode(send), elements);
+ return _resultOf(_target).typeOfSend(getNode(send));
}
TypeMask typeOfGet(ir.PropertyGet getter) {
- return _inferenceResults.typeOfSend(getNode(getter), elements);
+ return _resultOf(_target).typeOfSend(getNode(getter));
}
TypeMask typeOfSend(ir.Expression send) {
assert(send is ir.InvocationExpression || send is ir.PropertyGet);
- return _inferenceResults.typeOfSend(getNode(send), elements);
+ return _resultOf(_target).typeOfSend(getNode(send));
}
TypeMask typeOfNewList(Element owner, ir.ListLiteral listLiteral) {
- return _inferenceResults.typeOfNewList(owner, getNode(listLiteral)) ??
+ return _resultOf(owner).typeOfNewList(getNode(listLiteral)) ??
_compiler.commonMasks.dynamicType;
}
TypeMask typeOfIterator(ir.ForInStatement forInStatement) {
- return _inferenceResults.typeOfIterator(getNode(forInStatement), elements);
+ return _resultOf(_target).typeOfIterator(getNode(forInStatement));
}
TypeMask typeOfIteratorCurrent(ir.ForInStatement forInStatement) {
- return _inferenceResults.typeOfIteratorCurrent(
- getNode(forInStatement), elements);
+ return _resultOf(_target).typeOfIteratorCurrent(getNode(forInStatement));
}
TypeMask typeOfIteratorMoveNext(ir.ForInStatement forInStatement) {
- return _inferenceResults.typeOfIteratorMoveNext(
- getNode(forInStatement), elements);
+ return _resultOf(_target).typeOfIteratorMoveNext(getNode(forInStatement));
}
bool isJsIndexableIterator(ir.ForInStatement forInStatement) {
« no previous file with comments | « pkg/compiler/lib/src/ssa/builder.dart ('k') | pkg/compiler/lib/src/ssa/types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698