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

Side by Side Diff: pkg/compiler/lib/src/js_model/elements.dart

Issue 2981423003: Move .getLocalFunction from KernelToElementMap to KernelToLocalsMap (Closed)
Patch Set: 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 library dart2js.js_model.elements; 5 library dart2js.js_model.elements;
6 6
7 import '../elements/entities.dart'; 7 import '../elements/entities.dart';
8 import '../elements/names.dart'; 8 import '../elements/names.dart';
9 import '../elements/types.dart'; 9 import '../elements/types.dart';
10 import '../kernel/elements.dart'; 10 import '../kernel/elements.dart';
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 isStatic: isStatic, isExternal: isExternal, isAbstract: isAbstract); 165 isStatic: isStatic, isExternal: isExternal, isAbstract: isAbstract);
166 } 166 }
167 167
168 IndexedField createField(int memberIndex, LibraryEntity library, 168 IndexedField createField(int memberIndex, LibraryEntity library,
169 ClassEntity enclosingClass, Name name, 169 ClassEntity enclosingClass, Name name,
170 {bool isStatic, bool isAssignable, bool isConst}) { 170 {bool isStatic, bool isAssignable, bool isConst}) {
171 return new JField(memberIndex, library, enclosingClass, name, 171 return new JField(memberIndex, library, enclosingClass, name,
172 isStatic: isStatic, isAssignable: isAssignable, isConst: isConst); 172 isStatic: isStatic, isAssignable: isAssignable, isConst: isConst);
173 } 173 }
174 174
175 Local createLocalFunction(String name, MemberEntity memberContext,
176 Entity executableContext, FunctionType functionType) {
177 // TODO(efortuna, johnniwinther): This function should not be called once
178 // the K + J element situation has been properly sorted out. Ultimately this
179 // should throw.
180 return new JLocalFunction(
181 name, memberContext, executableContext, functionType);
182 }
183
184 LibraryEntity convertLibrary(IndexedLibrary library) { 175 LibraryEntity convertLibrary(IndexedLibrary library) {
185 return createLibrary( 176 return createLibrary(
186 library.libraryIndex, library.name, library.canonicalUri); 177 library.libraryIndex, library.name, library.canonicalUri);
187 } 178 }
188 179
189 ClassEntity convertClass(LibraryEntity library, IndexedClass cls) { 180 ClassEntity convertClass(LibraryEntity library, IndexedClass cls) {
190 return createClass(library, cls.classIndex, cls.name, 181 return createClass(library, cls.classIndex, cls.name,
191 isAbstract: cls.isAbstract); 182 isAbstract: cls.isAbstract);
192 } 183 }
193 184
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 final Entity typeDeclaration; 531 final Entity typeDeclaration;
541 final String name; 532 final String name;
542 final int index; 533 final int index;
543 534
544 JTypeVariable( 535 JTypeVariable(
545 this.typeVariableIndex, this.typeDeclaration, this.name, this.index); 536 this.typeVariableIndex, this.typeDeclaration, this.name, this.index);
546 537
547 String toString() => 538 String toString() =>
548 '${jsElementPrefix}type_variable(${typeDeclaration.name}.$name)'; 539 '${jsElementPrefix}type_variable(${typeDeclaration.name}.$name)';
549 } 540 }
550
551 class JLocalFunction implements Local {
552 final String name;
553 final MemberEntity memberContext;
554 final Entity executableContext;
555 final FunctionType functionType;
556
557 JLocalFunction(
558 this.name, this.memberContext, this.executableContext, this.functionType);
559
560 String toString() => '${jsElementPrefix}local_function'
561 '(${memberContext.name}.${name ?? '<anonymous>'})';
562 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698