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

Side by Side Diff: pkg/compiler/lib/src/kernel/element_map_impl.dart

Issue 2961253005: Added for-loop variable tracking and regular closures/initializers captured variable tracking. (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.kernel.element_map; 5 library dart2js.kernel.element_map;
6 6
7 import 'package:kernel/ast.dart' as ir; 7 import 'package:kernel/ast.dart' as ir;
8 import 'package:kernel/clone.dart'; 8 import 'package:kernel/clone.dart';
9 import 'package:kernel/type_algebra.dart'; 9 import 'package:kernel/type_algebra.dart';
10 10
(...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 namedParameters, namedParameterTypes); 687 namedParameters, namedParameterTypes);
688 } 688 }
689 689
690 LibraryEntity getLibrary(ir.Library node) => _getLibrary(node); 690 LibraryEntity getLibrary(ir.Library node) => _getLibrary(node);
691 691
692 ir.Library getKernelLibrary(KLibrary entity) => 692 ir.Library getKernelLibrary(KLibrary entity) =>
693 _libraryEnvs[entity.libraryIndex].library; 693 _libraryEnvs[entity.libraryIndex].library;
694 694
695 ir.Class getKernelClass(KClass entity) => _classEnvs[entity.classIndex].cls; 695 ir.Class getKernelClass(KClass entity) => _classEnvs[entity.classIndex].cls;
696 696
697 ir.Member getKernelMember(KMember entity) =>
Siggi Cherem (dart-lang) 2017/06/30 22:02:10 @override?
Emily Fortuna 2017/06/30 23:48:10 no, in this case, like the "getKernelClass" above,
698 _memberList[entity.memberIndex].node;
699
697 @override 700 @override
698 Local getLocalFunction(ir.TreeNode node) => _getLocal(node); 701 Local getLocalFunction(ir.TreeNode node) => _getLocal(node);
699 702
700 @override 703 @override
701 ClassEntity getClass(ir.Class node) => _getClass(node); 704 ClassEntity getClass(ir.Class node) => _getClass(node);
702 705
703 @override 706 @override
704 FieldEntity getField(ir.Field node) => _getField(node); 707 FieldEntity getField(ir.Field node) => _getField(node);
705 708
706 bool hasConstantFieldInitializer(covariant KField field) { 709 bool hasConstantFieldInitializer(covariant KField field) {
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after
1802 return _elementMap.getSpannable(_map.toFrontendMember(member), node); 1805 return _elementMap.getSpannable(_map.toFrontendMember(member), node);
1803 } 1806 }
1804 1807
1805 @override 1808 @override
1806 LibraryEntity getLibrary(ir.Library node) { 1809 LibraryEntity getLibrary(ir.Library node) {
1807 return _map.toBackendLibrary(_elementMap.getLibrary(node)); 1810 return _map.toBackendLibrary(_elementMap.getLibrary(node));
1808 } 1811 }
1809 1812
1810 @override 1813 @override
1811 Local getLocalFunction(ir.TreeNode node) { 1814 Local getLocalFunction(ir.TreeNode node) {
1812 throw new UnsupportedError("JsKernelToElementMap.getLocalFunction"); 1815 // TODO(efortuna, johnniwinther): This function should not be called once
1816 // the K + J element situation has been properly sorted out. Ultimately this
1817 // should throw.
1818 return _elementMap.getLocalFunction(node);
1813 } 1819 }
1814 1820
1815 @override 1821 @override
1816 ClassEntity getClass(ir.Class node) { 1822 ClassEntity getClass(ir.Class node) {
1817 return _map.toBackendClass(_elementMap.getClass(node)); 1823 return _map.toBackendClass(_elementMap.getClass(node));
1818 } 1824 }
1819 1825
1820 @override 1826 @override
1821 FieldEntity getField(ir.Field node) { 1827 FieldEntity getField(ir.Field node) {
1822 return _map.toBackendMember(_elementMap.getField(node)); 1828 return _map.toBackendMember(_elementMap.getField(node));
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 throw new UnsupportedError( 1919 throw new UnsupportedError(
1914 "JsKernelToElementMap.getConstantFieldInitializer"); 1920 "JsKernelToElementMap.getConstantFieldInitializer");
1915 } 1921 }
1916 1922
1917 @override 1923 @override
1918 bool hasConstantFieldInitializer(FieldEntity field) { 1924 bool hasConstantFieldInitializer(FieldEntity field) {
1919 throw new UnsupportedError( 1925 throw new UnsupportedError(
1920 "JsKernelToElementMap.hasConstantFieldInitializer"); 1926 "JsKernelToElementMap.hasConstantFieldInitializer");
1921 } 1927 }
1922 } 1928 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698