| Index: pkg/compiler/lib/src/dart_backend/backend.dart
|
| diff --git a/pkg/compiler/lib/src/dart_backend/backend.dart b/pkg/compiler/lib/src/dart_backend/backend.dart
|
| index bb925f94d8ca8060e978cccfa7945fef4eecda21..8d9d0cce24ce852446f1c395b5b21f3c2b097436 100644
|
| --- a/pkg/compiler/lib/src/dart_backend/backend.dart
|
| +++ b/pkg/compiler/lib/src/dart_backend/backend.dart
|
| @@ -52,11 +52,10 @@ class DartBackend extends Backend {
|
| new Set<ClassElement>();
|
|
|
| bool enableCodegenWithErrorsIfSupported(Spannable node) {
|
| - reporter.reportHintMessage(
|
| - node,
|
| - MessageKind.GENERIC,
|
| - {'text': "Generation of code with compile time errors is not "
|
| - "supported for dart2dart."});
|
| + reporter.reportHintMessage(node, MessageKind.GENERIC, {
|
| + 'text': "Generation of code with compile time errors is not "
|
| + "supported for dart2dart."
|
| + });
|
| return false;
|
| }
|
|
|
| @@ -73,14 +72,14 @@ class DartBackend extends Backend {
|
| Map<ClassElement, Iterable<Element>> classMembers) {
|
| ClassElement typeErrorElement = compiler.coreLibrary.find('TypeError');
|
| if (classMembers.containsKey(typeErrorElement) ||
|
| - compiler.resolverWorld.isChecks.any(
|
| - (DartType type) => type.element == typeErrorElement)) {
|
| + compiler.resolverWorld.isChecks
|
| + .any((DartType type) => type.element == typeErrorElement)) {
|
| return false;
|
| }
|
| Set<DartType> processedTypes = new Set<DartType>();
|
| List<DartType> workQueue = new List<DartType>();
|
| - workQueue.addAll(
|
| - classMembers.keys.map((classElement) => classElement.thisType));
|
| + workQueue
|
| + .addAll(classMembers.keys.map((classElement) => classElement.thisType));
|
| workQueue.addAll(compiler.resolverWorld.isChecks);
|
|
|
| while (!workQueue.isEmpty) {
|
| @@ -116,7 +115,6 @@ class DartBackend extends Backend {
|
| impactTransformer = new DartImpactTransformer(this);
|
| }
|
|
|
| -
|
| DiagnosticReporter get reporter => compiler.reporter;
|
|
|
| Resolution get resolution => compiler.resolution;
|
| @@ -128,7 +126,12 @@ class DartBackend extends Backend {
|
| // Right now resolver doesn't always resolve interfaces needed
|
| // for literals, so force them. TODO(antonm): fix in the resolver.
|
| final LITERAL_TYPE_NAMES = const [
|
| - 'Map', 'List', 'num', 'int', 'double', 'bool'
|
| + 'Map',
|
| + 'List',
|
| + 'num',
|
| + 'int',
|
| + 'double',
|
| + 'bool'
|
| ];
|
| final coreLibrary = compiler.coreLibrary;
|
| for (final name in LITERAL_TYPE_NAMES) {
|
| @@ -138,12 +141,10 @@ class DartBackend extends Backend {
|
| // Enqueue the methods that the VM might invoke on user objects because
|
| // we don't trust the resolution to always get these included.
|
| world.registerDynamicUse(new DynamicUse(Selectors.toString_, null));
|
| - world.registerDynamicUse(
|
| - new DynamicUse(Selectors.hashCode_, null));
|
| + world.registerDynamicUse(new DynamicUse(Selectors.hashCode_, null));
|
| world.registerDynamicUse(
|
| new DynamicUse(new Selector.binaryOperator('=='), null));
|
| - world.registerDynamicUse(
|
| - new DynamicUse(Selectors.compareTo, null));
|
| + world.registerDynamicUse(new DynamicUse(Selectors.compareTo, null));
|
| }
|
|
|
| WorldImpact codegen(CodegenWorkItem work) {
|
| @@ -158,27 +159,25 @@ class DartBackend extends Backend {
|
| bool shouldOutput(Element element) {
|
| return (!element.library.isPlatformLibrary &&
|
| !element.isSynthesized &&
|
| - element is! AbstractFieldElement)
|
| - || mirrorRenamer.isMirrorHelperLibrary(element.library);
|
| + element is! AbstractFieldElement) ||
|
| + mirrorRenamer.isMirrorHelperLibrary(element.library);
|
| }
|
|
|
| int assembleProgram() {
|
| ElementAst computeElementAst(AstElement element) {
|
| - return new ElementAst(element.resolvedAst.node,
|
| - element.resolvedAst.elements);
|
| + return new ElementAst(
|
| + element.resolvedAst.node, element.resolvedAst.elements);
|
| }
|
|
|
| // TODO(johnniwinther): Remove the need for this method.
|
| - void postProcessElementAst(
|
| - AstElement element, ElementAst elementAst,
|
| - newTypedefElementCallback,
|
| - newClassElementCallback) {
|
| - ReferencedElementCollector collector =
|
| - new ReferencedElementCollector(reporter,
|
| - element,
|
| - elementAst,
|
| - newTypedefElementCallback,
|
| - newClassElementCallback);
|
| + void postProcessElementAst(AstElement element, ElementAst elementAst,
|
| + newTypedefElementCallback, newClassElementCallback) {
|
| + ReferencedElementCollector collector = new ReferencedElementCollector(
|
| + reporter,
|
| + element,
|
| + elementAst,
|
| + newTypedefElementCallback,
|
| + newClassElementCallback);
|
| collector.collect();
|
| }
|
|
|
| @@ -198,17 +197,14 @@ class DartBackend extends Backend {
|
|
|
| // Output verbose info about size ratio of resulting bundle to all
|
| // referenced non-platform sources.
|
| - logResultBundleSizeInfo(
|
| - outputter.libraryInfo.userLibraries,
|
| - outputter.elementInfo.topLevelElements,
|
| - totalSize);
|
| + logResultBundleSizeInfo(outputter.libraryInfo.userLibraries,
|
| + outputter.elementInfo.topLevelElements, totalSize);
|
|
|
| return totalSize;
|
| }
|
|
|
| void logResultBundleSizeInfo(Iterable<LibraryElement> userLibraries,
|
| - Iterable<Element> topLevelElements,
|
| - int totalOutputSize) {
|
| + Iterable<Element> topLevelElements, int totalOutputSize) {
|
| // Sum total size of scripts in each referenced library.
|
| int nonPlatformSize = 0;
|
| for (LibraryElement lib in userLibraries) {
|
| @@ -239,11 +235,12 @@ class DartBackend extends Backend {
|
| });
|
| if (useMirrorHelperLibrary &&
|
| loadedLibraries.containsLibrary(Uris.dart_mirrors)) {
|
| - return compiler.libraryLoader.loadLibrary(
|
| - compiler.translateResolvedUri(
|
| + return compiler.libraryLoader
|
| + .loadLibrary(compiler.translateResolvedUri(
|
| loadedLibraries.getLibrary(Uris.dart_mirrors),
|
| - MirrorRenamerImpl.DART_MIRROR_HELPER, null)).
|
| - then((LibraryElement library) {
|
| + MirrorRenamerImpl.DART_MIRROR_HELPER,
|
| + null))
|
| + .then((LibraryElement library) {
|
| mirrorRenamer = new MirrorRenamerImpl(compiler, this, library);
|
| });
|
| }
|
| @@ -261,21 +258,18 @@ class DartBackend extends Backend {
|
| }
|
|
|
| @override
|
| - void registerInstantiatedType(InterfaceType type,
|
| - Enqueuer enqueuer,
|
| - Registry registry,
|
| - {bool mirrorUsage: false}) {
|
| + void registerInstantiatedType(
|
| + InterfaceType type, Enqueuer enqueuer, Registry registry,
|
| + {bool mirrorUsage: false}) {
|
| registerPlatformMembers(type, registerUse: registry.registerDynamicUse);
|
| - super.registerInstantiatedType(
|
| - type, enqueuer, registry, mirrorUsage: mirrorUsage);
|
| + super.registerInstantiatedType(type, enqueuer, registry,
|
| + mirrorUsage: mirrorUsage);
|
| }
|
|
|
| /// Register dynamic access of members of [type] that implement members
|
| /// of types defined in the platform libraries.
|
| - void registerPlatformMembers(
|
| - InterfaceType type,
|
| + void registerPlatformMembers(InterfaceType type,
|
| {void registerUse(DynamicUse dynamicUse)}) {
|
| -
|
| // Without patching, dart2dart has no way of performing sound tree-shaking
|
| // in face external functions. Therefore we employ another scheme:
|
| //
|
| @@ -310,8 +304,8 @@ class DartBackend extends Backend {
|
| ClassElement cls = type.element;
|
| if (!cls.library.isPlatformLibrary) {
|
| for (Link<DartType> link = cls.allSupertypes;
|
| - !link.isEmpty;
|
| - link = link.tail) {
|
| + !link.isEmpty;
|
| + link = link.tail) {
|
| InterfaceType supertype = link.head;
|
| ClassElement superclass = supertype.element;
|
| LibraryElement library = superclass.library;
|
| @@ -326,8 +320,7 @@ class DartBackend extends Backend {
|
| FunctionElement function = element.asFunctionElement();
|
| element.computeType(resolution);
|
| Selector selector = new Selector.fromElement(element);
|
| - registerUse(
|
| - new DynamicUse(selector, null));
|
| + registerUse(new DynamicUse(selector, null));
|
| });
|
| }
|
| }
|
| @@ -402,7 +395,6 @@ class EmitterUnparser extends Unparser {
|
| }
|
| }
|
|
|
| -
|
| /**
|
| * Some elements are not recorded by resolver now,
|
| * for example, typedefs or classes which are only
|
| @@ -416,11 +408,8 @@ class ReferencedElementCollector extends Visitor {
|
| final newTypedefElementCallback;
|
| final newClassElementCallback;
|
|
|
| - ReferencedElementCollector(this.reporter,
|
| - this.element,
|
| - this.elementAst,
|
| - this.newTypedefElementCallback,
|
| - this.newClassElementCallback);
|
| + ReferencedElementCollector(this.reporter, this.element, this.elementAst,
|
| + this.newTypedefElementCallback, this.newClassElementCallback);
|
|
|
| visitNode(Node node) {
|
| node.visitChildren(this);
|
| @@ -466,8 +455,8 @@ class DartConstantTask extends ConstantCompilerTask
|
| final DartConstantCompiler constantCompiler;
|
|
|
| DartConstantTask(Compiler compiler)
|
| - : this.constantCompiler = new DartConstantCompiler(compiler),
|
| - super(compiler);
|
| + : this.constantCompiler = new DartConstantCompiler(compiler),
|
| + super(compiler);
|
|
|
| String get name => 'ConstantHandler';
|
|
|
| @@ -526,9 +515,7 @@ class DartConstantTask extends ConstantCompilerTask
|
| }
|
|
|
| @override
|
| - ConstantExpression compileNode(
|
| - Node node,
|
| - TreeElements elements,
|
| + ConstantExpression compileNode(Node node, TreeElements elements,
|
| {bool enforceConst: true}) {
|
| return measure(() {
|
| return constantCompiler.compileNodeWithDefinitions(node, elements,
|
| @@ -538,9 +525,7 @@ class DartConstantTask extends ConstantCompilerTask
|
|
|
| @override
|
| ConstantExpression compileMetadata(
|
| - MetadataAnnotation metadata,
|
| - Node node,
|
| - TreeElements elements) {
|
| + MetadataAnnotation metadata, Node node, TreeElements elements) {
|
| return measure(() {
|
| return constantCompiler.compileMetadata(metadata, node, elements);
|
| });
|
| @@ -550,7 +535,7 @@ class DartConstantTask extends ConstantCompilerTask
|
| // expressions.
|
| @override
|
| void copyConstantValues(DartConstantTask task) {
|
| - constantCompiler.constantValueMap.addAll(
|
| - task.constantCompiler.constantValueMap);
|
| + constantCompiler.constantValueMap
|
| + .addAll(task.constantCompiler.constantValueMap);
|
| }
|
| }
|
|
|