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

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

Issue 2984643002: Add Class/MemberDefinition to handle synthesized classes/members (Closed)
Patch Set: Updated cf. comment 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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 target = kernel.localFunctions[classMap.closureEntity]; 136 target = kernel.localFunctions[classMap.closureEntity];
137 } 137 }
138 } 138 }
139 } else if (originTarget is FieldElement) { 139 } else if (originTarget is FieldElement) {
140 target = kernel.fields[originTarget]; 140 target = kernel.fields[originTarget];
141 } 141 }
142 assert(target != null); 142 assert(target != null);
143 return target; 143 return target;
144 } 144 }
145 145
146 MemberDefinition getMemberDefinition(MemberElement member) {
147 ir.Node node = getMemberNode(member);
148 if (member is ConstructorBodyElement) {
149 return new SpecialMemberDefinition(
150 member, node, MemberKind.constructorBody);
151 } else if (node is ir.Constructor) {
152 return new SpecialMemberDefinition(member, node, MemberKind.constructor);
153 } else if (node is ir.FunctionDeclaration ||
154 node is ir.FunctionExpression) {
155 return new SpecialMemberDefinition(member, node, MemberKind.closureCall);
156 }
157 return new RegularMemberDefinition(member, node);
158 }
159
146 ir.Node getClassNode(ClassElement cls) { 160 ir.Node getClassNode(ClassElement cls) {
147 throw new UnsupportedError('KernelAstAdapter.getClassNode'); 161 throw new UnsupportedError('KernelAstAdapter.getClassNode');
148 } 162 }
149 163
164 ClassDefinition getClassDefinition(ClassElement cls) {
165 throw new UnsupportedError('KernelAstAdapter.getClassDefinition');
166 }
167
150 @override 168 @override
151 CommonElements get commonElements => _compiler.resolution.commonElements; 169 CommonElements get commonElements => _compiler.resolution.commonElements;
152 170
153 @override 171 @override
154 ElementEnvironment get elementEnvironment => 172 ElementEnvironment get elementEnvironment =>
155 _compiler.resolution.elementEnvironment; 173 _compiler.resolution.elementEnvironment;
156 174
157 MemberElement get currentMember => _resolvedAst.element; 175 MemberElement get currentMember => _resolvedAst.element;
158 176
159 /// Push the existing resolved AST on the stack and shift the current resolved 177 /// Push the existing resolved AST on the stack and shift the current resolved
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { 704 TypeMask selectorTypeOf(Selector selector, TypeMask mask) {
687 return TypeMaskFactory.inferredTypeForSelector( 705 return TypeMaskFactory.inferredTypeForSelector(
688 selector, mask, _globalInferenceResults); 706 selector, mask, _globalInferenceResults);
689 } 707 }
690 708
691 TypeMask typeFromNativeBehavior( 709 TypeMask typeFromNativeBehavior(
692 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { 710 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) {
693 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); 711 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld);
694 } 712 }
695 } 713 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/ssa/builder_kernel.dart ('k') | pkg/compiler/lib/src/ssa/rasta_ssa_builder_task.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698