OLD | NEW |
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.kernel.backend_strategy; | 5 library dart2js.kernel.backend_strategy; |
6 | 6 |
7 import 'package:kernel/ast.dart' as ir; | 7 import 'package:kernel/ast.dart' as ir; |
8 | 8 |
9 import '../backend_strategy.dart'; | 9 import '../backend_strategy.dart'; |
10 import '../closure.dart'; | 10 import '../closure.dart'; |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 class KernelClosureClassMaps implements ClosureClassMaps { | 296 class KernelClosureClassMaps implements ClosureClassMaps { |
297 const KernelClosureClassMaps(); | 297 const KernelClosureClassMaps(); |
298 | 298 |
299 @override | 299 @override |
300 ClosureClassMap getLocalFunctionMap(Local localFunction) { | 300 ClosureClassMap getLocalFunctionMap(Local localFunction) { |
301 return new ClosureClassMap(null, null, null, null); | 301 return new ClosureClassMap(null, null, null, null); |
302 } | 302 } |
303 | 303 |
304 @override | 304 @override |
305 ClosureClassMap getMemberMap(MemberEntity member) { | 305 ClosureClassMap getMemberMap(MemberEntity member) { |
306 return new ClosureClassMap(null, null, null, null); | 306 ThisLocal thisLocal; |
| 307 if (member.isInstanceMember) { |
| 308 thisLocal = new ThisLocal(member); |
| 309 } |
| 310 return new ClosureClassMap(null, null, null, thisLocal); |
307 } | 311 } |
308 } | 312 } |
309 | 313 |
310 class KernelSorter implements Sorter { | 314 class KernelSorter implements Sorter { |
311 final KernelToElementMapImpl elementMap; | 315 final KernelToElementMapImpl elementMap; |
312 | 316 |
313 KernelSorter(this.elementMap); | 317 KernelSorter(this.elementMap); |
314 | 318 |
315 int _compareLibraries(LibraryEntity a, LibraryEntity b) { | 319 int _compareLibraries(LibraryEntity a, LibraryEntity b) { |
316 return utils.compareLibrariesUris(a.canonicalUri, b.canonicalUri); | 320 return utils.compareLibrariesUris(a.canonicalUri, b.canonicalUri); |
(...skipping 30 matching lines...) Expand all Loading... |
347 Iterable<ClassEntity> sortClasses(Iterable<ClassEntity> classes) { | 351 Iterable<ClassEntity> sortClasses(Iterable<ClassEntity> classes) { |
348 return classes.toList() | 352 return classes.toList() |
349 ..sort((ClassEntity a, ClassEntity b) { | 353 ..sort((ClassEntity a, ClassEntity b) { |
350 int r = _compareLibraries(a.library, b.library); | 354 int r = _compareLibraries(a.library, b.library); |
351 if (r != 0) return r; | 355 if (r != 0) return r; |
352 return _compareNodes( | 356 return _compareNodes( |
353 a, elementMap.getClassNode(a), b, elementMap.getClassNode(b)); | 357 a, elementMap.getClassNode(a), b, elementMap.getClassNode(b)); |
354 }); | 358 }); |
355 } | 359 } |
356 } | 360 } |
OLD | NEW |