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

Side by Side Diff: pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart

Issue 2975433002: Assert that we don't mix K and J elements (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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import 'package:kernel/ast.dart' as ir; 5 import 'package:kernel/ast.dart' as ir;
6 6
7 import '../closure.dart'; 7 import '../closure.dart';
8 import '../common.dart'; 8 import '../common.dart';
9 import '../compiler.dart'; 9 import '../compiler.dart';
10 import '../constants/expressions.dart'; 10 import '../constants/expressions.dart';
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 /// Sometimes for resolution the resolved AST element needs to change (for 56 /// Sometimes for resolution the resolved AST element needs to change (for
57 /// example, if we're inlining, or if we're in a constructor, but then also 57 /// example, if we're inlining, or if we're in a constructor, but then also
58 /// constructing the field values). We keep track of this with a stack. 58 /// constructing the field values). We keep track of this with a stack.
59 final List<ResolvedAst> _resolvedAstStack = <ResolvedAst>[]; 59 final List<ResolvedAst> _resolvedAstStack = <ResolvedAst>[];
60 60
61 final native.BehaviorBuilder nativeBehaviorBuilder; 61 final native.BehaviorBuilder nativeBehaviorBuilder;
62 62
63 KernelAstAdapter(this.kernel, this._backend, this._resolvedAst, 63 KernelAstAdapter(this.kernel, this._backend, this._resolvedAst,
64 this._nodeToAst, this._nodeToElement) 64 this._nodeToAst, this._nodeToElement)
65 : nativeBehaviorBuilder = new native.ResolverBehaviorBuilder( 65 : nativeBehaviorBuilder = new native.ResolverBehaviorBuilder(
66 _backend.compiler, _backend.nativeBasicData) { 66 _backend.compiler, _backend.frontendStrategy.nativeBasicData) {
67 KernelJumpTarget.index = 0; 67 KernelJumpTarget.index = 0;
68 // TODO(het): Maybe just use all of the kernel maps directly? 68 // TODO(het): Maybe just use all of the kernel maps directly?
69 for (FieldElement fieldElement in kernel.fields.keys) { 69 for (FieldElement fieldElement in kernel.fields.keys) {
70 _nodeToElement[kernel.fields[fieldElement]] = fieldElement; 70 _nodeToElement[kernel.fields[fieldElement]] = fieldElement;
71 } 71 }
72 for (FunctionElement functionElement in kernel.functions.keys) { 72 for (FunctionElement functionElement in kernel.functions.keys) {
73 _nodeToElement[kernel.functions[functionElement]] = functionElement; 73 _nodeToElement[kernel.functions[functionElement]] = functionElement;
74 } 74 }
75 for (ClassElement classElement in kernel.classes.keys) { 75 for (ClassElement classElement in kernel.classes.keys) {
76 _nodeToElement[kernel.classes[classElement]] = classElement; 76 _nodeToElement[kernel.classes[classElement]] = classElement;
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { 680 TypeMask selectorTypeOf(Selector selector, TypeMask mask) {
681 return TypeMaskFactory.inferredTypeForSelector( 681 return TypeMaskFactory.inferredTypeForSelector(
682 selector, mask, _globalInferenceResults); 682 selector, mask, _globalInferenceResults);
683 } 683 }
684 684
685 TypeMask typeFromNativeBehavior( 685 TypeMask typeFromNativeBehavior(
686 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { 686 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) {
687 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); 687 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld);
688 } 688 }
689 } 689 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/ssa/graph_builder.dart ('k') | pkg/compiler/lib/src/universe/element_world_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698