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

Unified Diff: pkg/kernel/lib/text/ast_to_text.dart

Issue 2852373002: Add import/export declaration AST node boilerplate to kernel. (Closed)
Patch Set: Merge and adapt C++ code to upstream changes Created 3 years, 7 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
« no previous file with comments | « pkg/kernel/lib/binary/ast_to_binary.dart ('k') | pkg/kernel/lib/visitor.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/kernel/lib/text/ast_to_text.dart
diff --git a/pkg/kernel/lib/text/ast_to_text.dart b/pkg/kernel/lib/text/ast_to_text.dart
index eb2652af88ae8ed722445de6b78c3c0a26a2ba65..77ec83584b06b49fdc9c85a4d1b14f06e3b4bca5 100644
--- a/pkg/kernel/lib/text/ast_to_text.dart
+++ b/pkg/kernel/lib/text/ast_to_text.dart
@@ -282,11 +282,12 @@ class Printer extends Visitor<Null> {
endLine('import "$importPath" as $prefix;');
}
}
- for (var import in library.deferredImports) {
+ for (var import in library.dependencies) {
import.accept(this);
}
endLine();
var inner = new Printer._inner(this, imports);
+ library.dependencies.forEach(inner.writeNode);
library.typedefs.forEach(inner.writeNode);
library.classes.forEach(inner.writeNode);
library.fields.forEach(inner.writeNode);
@@ -320,6 +321,7 @@ class Printer extends Visitor<Null> {
writeWord(prefix);
endLine(' {');
++inner.indentation;
+ library.dependencies.forEach(inner.writeNode);
library.typedefs.forEach(inner.writeNode);
library.classes.forEach(inner.writeNode);
library.fields.forEach(inner.writeNode);
@@ -1065,11 +1067,18 @@ class Printer extends Visitor<Null> {
writeSymbol(')');
}
- visitDeferredImport(DeferredImport node) {
- write('import "');
- write('${node.importedLibrary.importUri}');
- write('" deferred as ');
- write(node.name);
+ visitLibraryDependency(LibraryDependency node) {
+ writeIndentation();
+ writeWord(node.isImport ? 'import' : 'export');
+ var uriString = '${node.targetLibrary.importUri}';
+ writeWord('"$uriString"');
+ if (node.isDeferred) {
+ writeWord('deferred');
+ }
+ if (node.name != null) {
+ writeWord('as');
+ writeWord(node.name);
+ }
endLine(';');
}
« no previous file with comments | « pkg/kernel/lib/binary/ast_to_binary.dart ('k') | pkg/kernel/lib/visitor.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698