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

Unified Diff: pkg/compiler/lib/src/dart_backend/outputter.dart

Issue 1859343004: dartfmt pkg/compiler (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/dart_backend/outputter.dart
diff --git a/pkg/compiler/lib/src/dart_backend/outputter.dart b/pkg/compiler/lib/src/dart_backend/outputter.dart
index 484bda298d61885beb97f75d175610b88ed8d115..ce9022afe009326af0e269327da520c675426c0f 100644
--- a/pkg/compiler/lib/src/dart_backend/outputter.dart
+++ b/pkg/compiler/lib/src/dart_backend/outputter.dart
@@ -8,7 +8,8 @@ typedef bool IsSafeToRemoveTypeDeclarations(
Map<ClassElement, Iterable<Element>> classMembers);
typedef void ElementCallback<E>(E element);
typedef void ElementPostProcessFunction(
- AstElement element, ElementAst elementAst,
+ AstElement element,
+ ElementAst elementAst,
ElementCallback<TypedefElement> typedefCallback,
ElementCallback<ClassElement> classCallback);
typedef ElementAst ComputeElementAstFunction(AstElement element);
@@ -38,9 +39,9 @@ class DartOutputter {
// TODO(johnniwinther): Support recompilation.
DartOutputter(this.reporter, this.outputProvider,
- {bool this.forceStripTypes: false,
- bool this.enableMinification: false,
- bool this.multiFile: false});
+ {bool this.forceStripTypes: false,
+ bool this.enableMinification: false,
+ bool this.multiFile: false});
/// Generate Dart code for the program starting at [mainFunction].
///
@@ -57,8 +58,8 @@ class DartOutputter {
/// [resolvedElements] in the generated output.
///
/// Returns the total size of the generated code.
- int assembleProgram({
- MirrorRenamer mirrorRenamer: const MirrorRenamer(),
+ int assembleProgram(
+ {MirrorRenamer mirrorRenamer: const MirrorRenamer(),
Iterable<LibraryElement> libraries,
Iterable<Element> instantiatedClasses,
Iterable<Element> resolvedElements,
@@ -70,7 +71,6 @@ class DartOutputter {
ElementFilter shouldOutput,
IsSafeToRemoveTypeDeclarations isSafeToRemoveTypeDeclarations,
ElementSorter sortElements}) {
-
assert(invariant(NO_LOCATION_SPANNABLE, libraries != null,
message: "'libraries' must be non-null."));
assert(invariant(NO_LOCATION_SPANNABLE, instantiatedClasses != null,
@@ -83,8 +83,8 @@ class DartOutputter {
message: "'computeElementAst' must be non-null."));
assert(invariant(NO_LOCATION_SPANNABLE, shouldOutput != null,
message: "'shouldOutput' must be non-null."));
- assert(invariant(NO_LOCATION_SPANNABLE,
- isSafeToRemoveTypeDeclarations != null,
+ assert(invariant(
+ NO_LOCATION_SPANNABLE, isSafeToRemoveTypeDeclarations != null,
message: "'isSafeToRemoveTypeDeclarations' must be non-null."));
if (sortElements == null) {
@@ -96,29 +96,20 @@ class DartOutputter {
};
}
- libraryInfo = LibraryInfo.processLibraries(
- reporter, libraries, resolvedElements);
+ libraryInfo =
+ LibraryInfo.processLibraries(reporter, libraries, resolvedElements);
elementInfo = ElementInfoProcessor.createElementInfo(
- instantiatedClasses,
- resolvedElements,
- usedTypeLiterals,
+ instantiatedClasses, resolvedElements, usedTypeLiterals,
postProcessElementAst: postProcessElementAst,
parseElementAst: computeElementAst,
shouldOutput: shouldOutput,
sortElements: sortElements);
PlaceholderCollector collector = collectPlaceholders(
- reporter,
- mirrorRenamer,
- mainFunction,
- libraryInfo,
- elementInfo);
-
- renamer = createRenamer(
- collector,
- libraryInfo,
- elementInfo,
+ reporter, mirrorRenamer, mainFunction, libraryInfo, elementInfo);
+
+ renamer = createRenamer(collector, libraryInfo, elementInfo,
enableMinification: enableMinification,
forceStripTypes: forceStripTypes,
isSafeToRemoveTypeDeclarations: isSafeToRemoveTypeDeclarations);
@@ -126,20 +117,13 @@ class DartOutputter {
if (outputAst) {
String code = astOutput(reporter, elementInfo);
outputProvider("", "dart")
- ..add(code)
- ..close();
+ ..add(code)
+ ..close();
return code.length;
} else {
output = new MainOutputGenerator();
- return output.generateCode(
- libraryInfo,
- elementInfo,
- collector,
- renamer,
- mainFunction,
- outputUri,
- outputProvider,
- mirrorRenamer,
+ return output.generateCode(libraryInfo, elementInfo, collector, renamer,
+ mainFunction, outputUri, outputProvider, mirrorRenamer,
multiFile: multiFile,
forceStripTypes: forceStripTypes,
enableMinification: enableMinification);
@@ -171,17 +155,15 @@ class DartOutputter {
return collector;
}
- static PlaceholderRenamer createRenamer(
- PlaceholderCollector collector,
- LibraryInfo libraryInfo,
- ElementInfo elementInfo,
+ static PlaceholderRenamer createRenamer(PlaceholderCollector collector,
+ LibraryInfo libraryInfo, ElementInfo elementInfo,
{bool enableMinification: false,
- bool forceStripTypes: false,
- isSafeToRemoveTypeDeclarations}) {
+ bool forceStripTypes: false,
+ isSafeToRemoveTypeDeclarations}) {
// Create renames.
- bool shouldCutDeclarationTypes = forceStripTypes
- || (enableMinification
- && isSafeToRemoveTypeDeclarations(elementInfo.classMembers));
+ bool shouldCutDeclarationTypes = forceStripTypes ||
+ (enableMinification &&
+ isSafeToRemoveTypeDeclarations(elementInfo.classMembers));
PlaceholderRenamer placeholderRenamer = new PlaceholderRenamer(
libraryInfo.fixedDynamicNames,
@@ -194,8 +176,8 @@ class DartOutputter {
return placeholderRenamer;
}
- static String astOutput(DiagnosticReporter reporter,
- ElementInfo elementInfo) {
+ static String astOutput(
+ DiagnosticReporter reporter, ElementInfo elementInfo) {
// TODO(antonm): Ideally XML should be a separate backend.
// TODO(antonm): obey renames and minification, at least as an option.
StringBuffer sb = new StringBuffer();
@@ -223,10 +205,8 @@ class LibraryInfo {
final Map<Element, LibraryElement> reexportingLibraries;
final List<LibraryElement> userLibraries;
- LibraryInfo(this.fixedStaticNames,
- this.fixedDynamicNames,
- this.reexportingLibraries,
- this.userLibraries);
+ LibraryInfo(this.fixedStaticNames, this.fixedDynamicNames,
+ this.reexportingLibraries, this.userLibraries);
static LibraryInfo processLibraries(
DiagnosticReporter reporter,
@@ -235,7 +215,7 @@ class LibraryInfo {
Set<String> fixedStaticNames = new Set<String>();
Set<String> fixedDynamicNames = new Set<String>();
Map<Element, LibraryElement> reexportingLibraries =
- <Element, LibraryElement>{};
+ <Element, LibraryElement>{};
List<LibraryElement> userLibraries = <LibraryElement>[];
// Conservatively traverse all platform libraries and collect member names.
// TODO(antonm): ideally we should only collect names of used members,
@@ -268,8 +248,7 @@ class LibraryInfo {
});
library.forEachExport((Element export) {
- if (!library.isInternalLibrary &&
- export.library.isInternalLibrary) {
+ if (!library.isInternalLibrary && export.library.isInternalLibrary) {
// If an element of an internal library is reexported by a platform
// library, we have to import the reexporting library instead of the
// internal library, because the internal library is an
@@ -300,17 +279,15 @@ class LibraryInfo {
enumClassMap.putIfAbsent(cls.name, () => cls);
if (existingEnumClass != cls) {
reporter.reportError(
- reporter.createMessage(
- cls,
- MessageKind.GENERIC,
- {'text': "Duplicate enum names are not supported "
- "in dart2dart."}),
- <DiagnosticMessage>[
- reporter.createMessage(
- existingEnumClass,
- MessageKind.GENERIC,
- {'text': "This is the other declaration of '${cls.name}'."}),
- ]);
+ reporter.createMessage(cls, MessageKind.GENERIC, {
+ 'text': "Duplicate enum names are not supported "
+ "in dart2dart."
+ }),
+ <DiagnosticMessage>[
+ reporter.createMessage(existingEnumClass, MessageKind.GENERIC, {
+ 'text': "This is the other declaration of '${cls.name}'."
+ }),
+ ]);
}
}
}
@@ -321,8 +298,7 @@ class LibraryInfo {
// that are invoked as functions. Make sure to not rename that.
fixedDynamicNames.add('call');
- return new LibraryInfo(
- fixedStaticNames, fixedDynamicNames,
+ return new LibraryInfo(fixedStaticNames, fixedDynamicNames,
reexportingLibraries, userLibraries);
}
}
@@ -333,10 +309,8 @@ class ElementInfo {
final Map<ClassElement, Iterable<Element>> classMembers;
final Iterable<ClassElement> emitNoMembersFor;
- ElementInfo(this.elementAsts,
- this.topLevelElements,
- this.classMembers,
- this.emitNoMembersFor);
+ ElementInfo(this.elementAsts, this.topLevelElements, this.classMembers,
+ this.emitNoMembersFor);
}
class ElementInfoProcessor implements ElementInfo {
@@ -350,18 +324,16 @@ class ElementInfoProcessor implements ElementInfo {
final ElementFilter shouldOutput;
ElementInfoProcessor(
- {this.postProcessElementAst,
- this.parseElementAst,
- this.shouldOutput});
+ {this.postProcessElementAst, this.parseElementAst, this.shouldOutput});
static ElementInfo createElementInfo(
Iterable<ClassElement> instantiatedClasses,
Iterable<AstElement> resolvedElements,
Iterable<ClassElement> usedTypeLiterals,
{ElementPostProcessFunction postProcessElementAst,
- ComputeElementAstFunction parseElementAst,
- ElementFilter shouldOutput,
- ElementSorter sortElements}) {
+ ComputeElementAstFunction parseElementAst,
+ ElementFilter shouldOutput,
+ ElementSorter sortElements}) {
ElementInfoProcessor processor = new ElementInfoProcessor(
postProcessElementAst: postProcessElementAst,
parseElementAst: parseElementAst,
@@ -371,10 +343,11 @@ class ElementInfoProcessor implements ElementInfo {
sortElements: sortElements);
}
- ElementInfo process(Iterable<ClassElement> instantiatedClasses,
- Iterable<AstElement> resolvedElements,
- Iterable<ClassElement> usedTypeLiterals,
- {ElementSorter sortElements}) {
+ ElementInfo process(
+ Iterable<ClassElement> instantiatedClasses,
+ Iterable<AstElement> resolvedElements,
+ Iterable<ClassElement> usedTypeLiterals,
+ {ElementSorter sortElements}) {
// Build all top level elements to emit and necessary class members.
instantiatedClasses.where(shouldOutput).forEach(addClass);
resolvedElements.where(shouldOutput).forEach(addMember);
@@ -402,9 +375,8 @@ class ElementInfoProcessor implements ElementInfo {
void processElement(Element element, ElementAst elementAst) {
if (postProcessElementAst != null) {
- postProcessElementAst(element, elementAst,
- newTypedefElementCallback,
- newClassElementCallback);
+ postProcessElementAst(element, elementAst, newTypedefElementCallback,
+ newClassElementCallback);
}
elementAsts[element] = elementAst;
}
@@ -459,7 +431,7 @@ class ElementInfoProcessor implements ElementInfo {
/// [CompilerOutputProvider].
class MainOutputGenerator {
final Map<ClassNode, List<Node>> memberNodes =
- new Map<ClassNode, List<Node>>();
+ new Map<ClassNode, List<Node>>();
final List<Node> topLevelNodes = <Node>[];
/// Generates the code and returns the total size.
@@ -473,8 +445,8 @@ class MainOutputGenerator {
CompilerOutputProvider outputProvider,
MirrorRenamer mirrorRenamer,
{bool multiFile: false,
- bool forceStripTypes: false,
- bool enableMinification: false}) {
+ bool forceStripTypes: false,
+ bool enableMinification: false}) {
for (Element element in elementInfo.topLevelElements) {
topLevelNodes.add(elementInfo.elementAsts[element].ast);
if (element.isClass) {
@@ -490,8 +462,8 @@ class MainOutputGenerator {
}
}
- mirrorRenamer.addRenames(placeholderRenamer.renames,
- topLevelNodes, collector);
+ mirrorRenamer.addRenames(
+ placeholderRenamer.renames, topLevelNodes, collector);
Map<LibraryElement, String> outputPaths = new Map<LibraryElement, String>();
Map<LibraryElement, EmitterUnparser> unparsers =
@@ -501,8 +473,7 @@ class MainOutputGenerator {
EmitterUnparser mainUnparser = multiFile
? null
: new EmitterUnparser(placeholderRenamer.renames,
- stripTypes: forceStripTypes,
- minify: enableMinification);
+ stripTypes: forceStripTypes, minify: enableMinification);
if (multiFile) {
// TODO(sigurdm): Factor handling of library-paths out from emitting.
@@ -528,7 +499,7 @@ class MainOutputGenerator {
}
/// Rewrites imports/exports to refer to the paths given in [outputPaths].
- for(LibraryElement outputLibrary in libraryInfo.userLibraries) {
+ for (LibraryElement outputLibrary in libraryInfo.userLibraries) {
EmitterUnparser unparser = new EmitterUnparser(
placeholderRenamer.renames,
stripTypes: forceStripTypes,
@@ -553,8 +524,8 @@ class MainOutputGenerator {
}
}
} else {
- placeholderRenamer.platformImports.forEach(
- (LibraryElement library, String prefix) {
+ placeholderRenamer.platformImports
+ .forEach((LibraryElement library, String prefix) {
assert(library.isPlatformLibrary && !library.isInternalLibrary);
mainUnparser.unparseImportTag(library.canonicalUri.toString());
if (prefix != null) {
@@ -562,7 +533,7 @@ class MainOutputGenerator {
// it to avoid shadowing.
// TODO(johnniwinther): Avoid prefix-less import if not needed.
mainUnparser.unparseImportTag(library.canonicalUri.toString(),
- prefix: prefix);
+ prefix: prefix);
}
});
}
@@ -582,20 +553,20 @@ class MainOutputGenerator {
int totalSize = 0;
if (multiFile) {
- for(LibraryElement outputLibrary in libraryInfo.userLibraries) {
+ for (LibraryElement outputLibrary in libraryInfo.userLibraries) {
// TODO(sigurdm): Make the unparser output directly into the buffer
// instead of caching in `.result`.
String code = unparsers[outputLibrary].result;
totalSize += code.length;
outputProvider(outputPaths[outputLibrary], "dart")
- ..add(code)
- ..close();
+ ..add(code)
+ ..close();
}
} else {
String code = mainUnparser.result;
outputProvider("", "dart")
- ..add(code)
- ..close();
+ ..add(code)
+ ..close();
totalSize = code.length;
}
« no previous file with comments | « pkg/compiler/lib/src/dart_backend/dart_backend.dart ('k') | pkg/compiler/lib/src/dart_backend/placeholder_collector.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698