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

Side by Side Diff: pkg/analyzer/lib/src/summary/resynthesize.dart

Issue 1583613002: Create LibraryElement.loadLibrary during resynth. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 summary_resynthesizer; 5 library summary_resynthesizer;
6 6
7 import 'package:analyzer/analyzer.dart'; 7 import 'package:analyzer/analyzer.dart';
8 import 'package:analyzer/src/generated/element.dart'; 8 import 'package:analyzer/src/generated/element.dart';
9 import 'package:analyzer/src/generated/element_handle.dart'; 9 import 'package:analyzer/src/generated/element_handle.dart';
10 import 'package:analyzer/src/generated/engine.dart'; 10 import 'package:analyzer/src/generated/engine.dart';
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 new NamespaceBuilder().createPublicNamespaceForLibrary(libraryElement); 707 new NamespaceBuilder().createPublicNamespaceForLibrary(libraryElement);
708 // TODO(paulberry): compute the export namespace from prelinked data, so 708 // TODO(paulberry): compute the export namespace from prelinked data, so
709 // that exported libraries won't be unnecessarily resynthesized. 709 // that exported libraries won't be unnecessarily resynthesized.
710 libraryElement.exportNamespace = 710 libraryElement.exportNamespace =
711 new NamespaceBuilder().createExportNamespaceForLibrary(libraryElement); 711 new NamespaceBuilder().createExportNamespaceForLibrary(libraryElement);
712 // Find the entry point. 712 // Find the entry point.
713 libraryElement.entryPoint = 713 libraryElement.entryPoint =
714 libraryElement.exportNamespace.definedNames.values.firstWhere( 714 libraryElement.exportNamespace.definedNames.values.firstWhere(
715 (element) => element is FunctionElement && element.isEntryPoint, 715 (element) => element is FunctionElement && element.isEntryPoint,
716 orElse: () => null); 716 orElse: () => null);
717 // Create the synthetic element for `loadLibrary`.
718 if (!isCoreLibrary) {
Paul Berry 2016/01/13 16:07:49 This seems like a bug. The language spec allows `
scheglov 2016/01/13 16:51:54 Done.
719 libraryElement
720 .createLoadLibraryFunction(summaryResynthesizer.typeProvider);
721 }
717 // Done. 722 // Done.
718 return libraryElement; 723 return libraryElement;
719 } 724 }
720 725
721 /** 726 /**
722 * Resynthesize a [ParameterElement]. 727 * Resynthesize a [ParameterElement].
723 */ 728 */
724 ParameterElement buildParameter(UnlinkedParam serializedParameter) { 729 ParameterElement buildParameter(UnlinkedParam serializedParameter) {
725 ParameterElementImpl parameterElement = new ParameterElementImpl( 730 ParameterElementImpl parameterElement = new ParameterElementImpl(
726 serializedParameter.name, serializedParameter.nameOffset); 731 serializedParameter.name, serializedParameter.nameOffset);
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 } 1002 }
998 for (FunctionTypeAliasElement typeAlias in unit.functionTypeAliases) { 1003 for (FunctionTypeAliasElement typeAlias in unit.functionTypeAliases) {
999 elementMap[typeAlias.name] = typeAlias; 1004 elementMap[typeAlias.name] = typeAlias;
1000 } 1005 }
1001 resummarizedElements[absoluteUri] = elementMap; 1006 resummarizedElements[absoluteUri] = elementMap;
1002 unitHolder = null; 1007 unitHolder = null;
1003 prelinkedUnit = null; 1008 prelinkedUnit = null;
1004 unlinkedUnit = null; 1009 unlinkedUnit = null;
1005 } 1010 }
1006 } 1011 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698