Chromium Code Reviews| Index: pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart |
| diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart |
| index 30114a78c11fb944e53164152987c10ce5a84dee..740c34d8064e1883e431f0fa1bfe78e5b57ffcc3 100644 |
| --- a/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart |
| +++ b/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart |
| @@ -152,9 +152,9 @@ class Emitter implements js_emitter.Emitter { |
| TypeVariableHandler get typeVariableHandler => backend.typeVariableHandler; |
| String get _ => space; |
| - String get space => compiler.enableMinification ? "" : " "; |
| - String get n => compiler.enableMinification ? "" : "\n"; |
| - String get N => compiler.enableMinification ? "\n" : ";\n"; |
| + String get space => compiler.options.enableMinification ? "" : " "; |
| + String get n => compiler.options.enableMinification ? "" : "\n"; |
| + String get N => compiler.options.enableMinification ? "\n" : ";\n"; |
| /** |
| * List of expressions and statements that will be included in the |
| @@ -571,7 +571,7 @@ class Emitter implements js_emitter.Emitter { |
| jsAst.Statement buildCspPrecompiledFunctionFor( |
| OutputUnit outputUnit) { |
| - if (compiler.useContentSecurityPolicy) { |
| + if (compiler.options.useContentSecurityPolicy) { |
| // TODO(ahe): Compute a hash code. |
| // TODO(sigurdm): Avoid this precompiled function. Generated |
| // constructor-functions and getter/setter functions can be stored in the |
| @@ -598,7 +598,7 @@ class Emitter implements js_emitter.Emitter { |
| Fragment fragment) { |
| ClassElement classElement = cls.element; |
| reporter.withCurrentElement(classElement, () { |
| - if (compiler.hasIncrementalSupport) { |
| + if (compiler.options.hasIncrementalSupport) { |
| ClassBuilder cachedBuilder = |
| cachedClassBuilders.putIfAbsent(classElement, () { |
| ClassBuilder builder = |
| @@ -711,7 +711,7 @@ class Emitter implements js_emitter.Emitter { |
| } |
| } |
| })(#laziesInfo) |
| - ''', {'notMinified': !compiler.enableMinification, |
| + ''', {'notMinified': !compiler.options.enableMinification, |
| 'laziesInfo': new jsAst.ArrayInitializer(laziesInfo), |
| 'lazy': js(lazyInitializerName), |
| 'isMainFragment': isMainFragment, |
| @@ -728,7 +728,7 @@ class Emitter implements js_emitter.Emitter { |
| laziesInfo.add(js.quoteName(field.name)); |
| laziesInfo.add(js.quoteName(namer.deriveLazyInitializerName(field.name))); |
| laziesInfo.add(field.code); |
| - if (!compiler.enableMinification) { |
| + if (!compiler.options.enableMinification) { |
| laziesInfo.add(js.quoteName(field.name)); |
| } |
| if (!isMainFragment) { |
| @@ -763,7 +763,7 @@ class Emitter implements js_emitter.Emitter { |
| isolateProperties]); |
| } |
| - if (compiler.enableMinification) { |
| + if (compiler.options.enableMinification) { |
| return js('#(#,#,#)', |
| [js(lazyInitializerName), |
| js.quoteName(namer.globalPropertyName(element)), |
| @@ -805,12 +805,12 @@ class Emitter implements js_emitter.Emitter { |
| if (constants.isEmpty) return js.comment("No constants in program."); |
| List<jsAst.Statement> parts = <jsAst.Statement>[]; |
| - if (compiler.hasIncrementalSupport && isMainFragment) { |
| + if (compiler.options.hasIncrementalSupport && isMainFragment) { |
| parts = cachedEmittedConstantsAst; |
| } |
| for (Constant constant in constants) { |
| ConstantValue constantValue = constant.value; |
| - if (compiler.hasIncrementalSupport && isMainFragment) { |
| + if (compiler.options.hasIncrementalSupport && isMainFragment) { |
| if (cachedEmittedConstants.contains(constantValue)) continue; |
| cachedEmittedConstants.add(constantValue); |
| } |
| @@ -1027,7 +1027,7 @@ class Emitter implements js_emitter.Emitter { |
| 'makeConstListProperty': makeConstListProperty, |
| 'functionThatReturnsNullProperty': |
| backend.rtiEncoder.getFunctionThatReturnsNullName, |
| - 'hasIncrementalSupport': compiler.hasIncrementalSupport, |
| + 'hasIncrementalSupport': compiler.options.hasIncrementalSupport, |
| 'lazyInitializerProperty': lazyInitializerProperty,}); |
| } |
| @@ -1073,7 +1073,7 @@ class Emitter implements js_emitter.Emitter { |
| jsAst.Statement buildSupportsDirectProtoAccess() { |
| jsAst.Statement supportsDirectProtoAccess; |
| - if (compiler.hasIncrementalSupport) { |
| + if (compiler.options.hasIncrementalSupport) { |
| supportsDirectProtoAccess = js.statement(r''' |
| var supportsDirectProtoAccess = false; |
| '''); |
| @@ -1095,17 +1095,16 @@ class Emitter implements js_emitter.Emitter { |
| jsAst.Expression generateLibraryDescriptor(LibraryElement library, |
| Fragment fragment) { |
| var uri = ""; |
| - if (!compiler.enableMinification || backend.mustPreserveUris) { |
| + if (!compiler.options.enableMinification || backend.mustPreserveUris) { |
| uri = library.canonicalUri; |
| - if (uri.scheme == 'file' && compiler.outputUri != null) { |
| - uri = relativize(compiler.outputUri, library.canonicalUri, false); |
| + if (uri.scheme == 'file' && compiler.options.outputUri != null) { |
| + uri = relativize( |
| + compiler.options.outputUri, library.canonicalUri, false); |
| } |
| } |
| - String libraryName = |
| - (!compiler.enableMinification || backend.mustRetainLibraryNames) ? |
| - library.libraryName : |
| - ""; |
| + String libraryName = (!compiler.options.enableMinification || |
| + backend.mustRetainLibraryNames) ? library.libraryName : ""; |
| jsAst.Fun metadata = task.metadataCollector.buildMetadataFunction(library); |
| @@ -1342,7 +1341,7 @@ class Emitter implements js_emitter.Emitter { |
| void checkEverythingEmitted(Iterable<Element> elements) { |
| List<Element> pendingStatics; |
| - if (!compiler.hasIncrementalSupport) { |
| + if (!compiler.options.hasIncrementalSupport) { |
| pendingStatics = |
| Elements.sortedByPosition(elements.where((e) => !e.isLibrary)); |
| @@ -1429,7 +1428,7 @@ class Emitter implements js_emitter.Emitter { |
| // The program builder does not collect libraries that only |
| // contain typedefs that are used for reflection. |
| for (LibraryElement element in remainingLibraries) { |
| - assert(element is LibraryElement || compiler.hasIncrementalSupport); |
| + assert(element is LibraryElement || compiler.options.hasIncrementalSupport); |
|
Johnni Winther
2016/03/16 09:37:27
Long line.
Siggi Cherem (dart-lang)
2016/03/17 22:57:14
Done.
|
| if (element is LibraryElement) { |
| parts.add(generateLibraryDescriptor(element, mainFragment)); |
| descriptors.remove(element); |
| @@ -1552,7 +1551,7 @@ class Emitter implements js_emitter.Emitter { |
| })(); |
| """, { |
| "disableVariableRenaming": js.comment("/* ::norenaming:: */"), |
| - "hasIncrementalSupport": compiler.hasIncrementalSupport, |
| + "hasIncrementalSupport": compiler.options.hasIncrementalSupport, |
| "helper": js('this.#', [namer.incrementalHelperName]), |
| "schemaChange": buildSchemaChangeFunction(), |
| "addMethod": buildIncrementalAddMethod(), |
| @@ -1612,27 +1611,27 @@ class Emitter implements js_emitter.Emitter { |
| mainOutput.addBuffer(jsAst.createCodeBuffer( |
| program, compiler, monitor: compiler.dumpInfoTask)); |
| - if (compiler.deferredMapUri != null) { |
| + if (compiler.options.deferredMapUri != null) { |
| outputDeferredMap(); |
| } |
| if (generateSourceMap) { |
| - mainOutput.add( |
| - generateSourceMapTag(compiler.sourceMapUri, compiler.outputUri)); |
| + mainOutput.add(generateSourceMapTag( |
| + compiler.options.sourceMapUri, compiler.options.outputUri)); |
| } |
| mainOutput.close(); |
| if (generateSourceMap) { |
| outputSourceMap(mainOutput, lineColumnCollector, '', |
| - compiler.sourceMapUri, compiler.outputUri); |
| + compiler.options.sourceMapUri, compiler.options.outputUri); |
| } |
| } |
| /// Used by incremental compilation to patch up the prototype of |
| /// [oldConstructor] for use as prototype of [newConstructor]. |
| jsAst.Fun buildSchemaChangeFunction() { |
| - if (!compiler.hasIncrementalSupport) return null; |
| + if (!compiler.options.hasIncrementalSupport) return null; |
| return js(''' |
| function(newConstructor, oldConstructor, superclass) { |
| // Invariant: newConstructor.prototype has no interesting properties besides |
| @@ -1665,7 +1664,7 @@ function(newConstructor, oldConstructor, superclass) { |
| /// top-level). [globalFunctionsAccess] is a reference to |
| /// [embeddedNames.GLOBAL_FUNCTIONS]. |
| jsAst.Fun buildIncrementalAddMethod() { |
| - if (!compiler.hasIncrementalSupport) return null; |
| + if (!compiler.options.hasIncrementalSupport) return null; |
| return js(r""" |
| function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) { |
| var arrayOrFunction = originalDescriptor[name]; |
| @@ -1992,7 +1991,7 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) { |
| // in stack traces and profile entries. |
| body.add(js.statement('var dart = #', libraryDescriptor)); |
| - if (compiler.useContentSecurityPolicy) { |
| + if (compiler.options.useContentSecurityPolicy) { |
| body.add(buildCspPrecompiledFunctionFor(outputUnit)); |
| } |
| body.add( |
| @@ -2067,8 +2066,8 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) { |
| if (generateSourceMap) { |
| Uri mapUri, partUri; |
| - Uri sourceMapUri = compiler.sourceMapUri; |
| - Uri outputUri = compiler.outputUri; |
| + Uri sourceMapUri = compiler.options.sourceMapUri; |
| + Uri outputUri = compiler.options.outputUri; |
| String partName = "$partPrefix.part"; |
| @@ -2076,14 +2075,16 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) { |
| String mapFileName = partName + ".js.map"; |
| List<String> mapSegments = sourceMapUri.pathSegments.toList(); |
| mapSegments[mapSegments.length - 1] = mapFileName; |
| - mapUri = compiler.sourceMapUri.replace(pathSegments: mapSegments); |
| + mapUri = compiler.options.sourceMapUri |
| + .replace(pathSegments: mapSegments); |
| } |
| if (outputUri != null) { |
| String partFileName = partName + ".js"; |
| List<String> partSegments = outputUri.pathSegments.toList(); |
| partSegments[partSegments.length - 1] = partFileName; |
| - partUri = compiler.outputUri.replace(pathSegments: partSegments); |
| + partUri = compiler.options.outputUri.replace( |
| + pathSegments: partSegments); |
| } |
| output.add(generateSourceMapTag(mapUri, partUri)); |
| @@ -2102,7 +2103,7 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) { |
| jsAst.Comment buildGeneratedBy() { |
| List<String> options = []; |
| if (compiler.mirrorsLibrary != null) options.add('mirrors'); |
| - if (compiler.useContentSecurityPolicy) options.add("CSP"); |
| + if (compiler.options.useContentSecurityPolicy) options.add("CSP"); |
| return new jsAst.Comment(generatedBy(compiler, flavor: options.join(", "))); |
| } |
| @@ -2130,13 +2131,14 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) { |
| mapping["_comment"] = "This mapping shows which compiled `.js` files are " |
| "needed for a given deferred library import."; |
| mapping.addAll(compiler.deferredLoadTask.computeDeferredMap()); |
| - compiler.outputProvider(compiler.deferredMapUri.path, 'deferred_map') |
| + compiler.outputProvider( |
| + compiler.options.deferredMapUri.path, 'deferred_map') |
| ..add(const JsonEncoder.withIndent(" ").convert(mapping)) |
| ..close(); |
| } |
| void invalidateCaches() { |
| - if (!compiler.hasIncrementalSupport) return; |
| + if (!compiler.options.hasIncrementalSupport) return; |
| if (cachedElements.isEmpty) return; |
| for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { |
| if (element.isInstanceMember) { |