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

Side by Side Diff: pkg/compiler/lib/src/deferred_load.dart

Issue 1881013002: Expand ResolvedAst to handle synthetic constructors. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments + fix test, cps and compilation units for injected members. Created 4 years, 8 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
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/inline.dart ('k') | pkg/compiler/lib/src/elements/elements.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 deferred_load; 5 library deferred_load;
6 6
7 import 'common.dart'; 7 import 'common.dart';
8 import 'common/backend_api.dart' show Backend; 8 import 'common/backend_api.dart' show Backend;
9 import 'common/tasks.dart' show CompilerTask; 9 import 'common/tasks.dart' show CompilerTask;
10 import 'compiler.dart' show Compiler; 10 import 'compiler.dart' show Compiler;
(...skipping 12 matching lines...) Expand all
23 Element, 23 Element,
24 ElementKind, 24 ElementKind,
25 Elements, 25 Elements,
26 ExportElement, 26 ExportElement,
27 FunctionElement, 27 FunctionElement,
28 ImportElement, 28 ImportElement,
29 LibraryElement, 29 LibraryElement,
30 LocalFunctionElement, 30 LocalFunctionElement,
31 MetadataAnnotation, 31 MetadataAnnotation,
32 PrefixElement, 32 PrefixElement,
33 ResolvedAstKind,
33 ScopeContainerElement, 34 ScopeContainerElement,
34 TypedefElement; 35 TypedefElement;
35 import 'js_backend/js_backend.dart' show JavaScriptBackend; 36 import 'js_backend/js_backend.dart' show JavaScriptBackend;
36 import 'resolution/resolution.dart' show AnalyzableElementX; 37 import 'resolution/resolution.dart' show AnalyzableElementX;
37 import 'resolution/tree_elements.dart' show TreeElements; 38 import 'resolution/tree_elements.dart' show TreeElements;
38 import 'tree/tree.dart' as ast; 39 import 'tree/tree.dart' as ast;
39 import 'tree/tree.dart' 40 import 'tree/tree.dart'
40 show 41 show
41 Import, 42 Import,
42 LibraryTag, 43 LibraryTag,
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 break; 331 break;
331 case TypeUseKind.CHECKED_MODE_CHECK: 332 case TypeUseKind.CHECKED_MODE_CHECK:
332 if (compiler.options.enableTypeAssertions) { 333 if (compiler.options.enableTypeAssertions) {
333 collectTypeDependencies(type); 334 collectTypeDependencies(type);
334 } 335 }
335 break; 336 break;
336 } 337 }
337 }), 338 }),
338 IMPACT_USE); 339 IMPACT_USE);
339 340
341 if (analyzableElement.resolvedAst.kind != ResolvedAstKind.PARSED) {
342 return;
343 }
344
340 TreeElements treeElements = analyzableElement.resolvedAst.elements; 345 TreeElements treeElements = analyzableElement.resolvedAst.elements;
341 assert(treeElements != null); 346 assert(treeElements != null);
342 347
343 treeElements.forEachConstantNode((Node node, _) { 348 treeElements.forEachConstantNode((Node node, _) {
344 // Explicitly depend on the backend constants. 349 // Explicitly depend on the backend constants.
345 ConstantValue value = 350 ConstantValue value =
346 backend.constants.getConstantValueForNode(node, treeElements); 351 backend.constants.getConstantValueForNode(node, treeElements);
347 if (value != null) { 352 if (value != null) {
348 // TODO(johnniwinther): Assert that all constants have values when 353 // TODO(johnniwinther): Assert that all constants have values when
349 // these are directly evaluated. 354 // these are directly evaluated.
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
988 return result; 993 return result;
989 } 994 }
990 995
991 bool operator ==(other) { 996 bool operator ==(other) {
992 if (other is! _DeclaredDeferredImport) return false; 997 if (other is! _DeclaredDeferredImport) return false;
993 return declaration == other.declaration; 998 return declaration == other.declaration;
994 } 999 }
995 1000
996 int get hashCode => declaration.hashCode * 17; 1001 int get hashCode => declaration.hashCode * 17;
997 } 1002 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/inline.dart ('k') | pkg/compiler/lib/src/elements/elements.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698