Index: pkg/analyzer/lib/src/dart/ast/utilities.dart |
diff --git a/pkg/analyzer/lib/src/dart/ast/utilities.dart b/pkg/analyzer/lib/src/dart/ast/utilities.dart |
index c1283439cf37fcb0135cd1742c262768cf8583a2..1ee8aadad70ef7d7299392cff09dc0f22e852aec 100644 |
--- a/pkg/analyzer/lib/src/dart/ast/utilities.dart |
+++ b/pkg/analyzer/lib/src/dart/ast/utilities.dart |
@@ -13,6 +13,7 @@ import 'package:analyzer/dart/element/element.dart'; |
import 'package:analyzer/exception/exception.dart'; |
import 'package:analyzer/src/dart/ast/token.dart'; |
import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine; |
+import 'package:analyzer/src/generated/java_core.dart'; |
import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap; |
import 'package:analyzer/src/generated/utilities_dart.dart'; |
@@ -6695,15 +6696,15 @@ class ScopedNameFinder extends GeneralizingAstVisitor<Object> { |
*/ |
class ToSourceVisitor implements AstVisitor<Object> { |
/** |
- * The buffer to which the source is to be written. |
+ * The writer to which the source is to be written. |
*/ |
- final StringBuffer _buffer; |
+ final PrintWriter _writer; |
/** |
* Initialize a newly created visitor to write source code representing the |
- * visited nodes to the given [_buffer]. |
+ * visited nodes to the given [writer]. |
*/ |
- ToSourceVisitor(this._buffer); |
+ ToSourceVisitor(this._writer); |
@override |
Object visitAdjacentStrings(AdjacentStrings node) { |
@@ -6713,7 +6714,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitAnnotation(Annotation node) { |
- _buffer.write('@'); |
+ _writer.print('@'); |
_visitNode(node.name); |
_visitNodeWithPrefix(".", node.constructorName); |
_visitNode(node.arguments); |
@@ -6722,45 +6723,45 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitArgumentList(ArgumentList node) { |
- _buffer.write('('); |
+ _writer.print('('); |
_visitNodeListWithSeparator(node.arguments, ", "); |
- _buffer.write(')'); |
+ _writer.print(')'); |
return null; |
} |
@override |
Object visitAsExpression(AsExpression node) { |
_visitNode(node.expression); |
- _buffer.write(" as "); |
+ _writer.print(" as "); |
_visitNode(node.type); |
return null; |
} |
@override |
Object visitAssertStatement(AssertStatement node) { |
- _buffer.write("assert ("); |
+ _writer.print("assert ("); |
_visitNode(node.condition); |
if (node.message != null) { |
- _buffer.write(', '); |
+ _writer.print(', '); |
_visitNode(node.message); |
} |
- _buffer.write(");"); |
+ _writer.print(");"); |
return null; |
} |
@override |
Object visitAssignmentExpression(AssignmentExpression node) { |
_visitNode(node.leftHandSide); |
- _buffer.write(' '); |
- _buffer.write(node.operator.lexeme); |
- _buffer.write(' '); |
+ _writer.print(' '); |
+ _writer.print(node.operator.lexeme); |
+ _writer.print(' '); |
_visitNode(node.rightHandSide); |
return null; |
} |
@override |
Object visitAwaitExpression(AwaitExpression node) { |
- _buffer.write("await "); |
+ _writer.print("await "); |
_visitNode(node.expression); |
return null; |
} |
@@ -6768,18 +6769,18 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitBinaryExpression(BinaryExpression node) { |
_visitNode(node.leftOperand); |
- _buffer.write(' '); |
- _buffer.write(node.operator.lexeme); |
- _buffer.write(' '); |
+ _writer.print(' '); |
+ _writer.print(node.operator.lexeme); |
+ _writer.print(' '); |
_visitNode(node.rightOperand); |
return null; |
} |
@override |
Object visitBlock(Block node) { |
- _buffer.write('{'); |
+ _writer.print('{'); |
_visitNodeListWithSeparator(node.statements, " "); |
- _buffer.write('}'); |
+ _writer.print('}'); |
return null; |
} |
@@ -6787,11 +6788,11 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitBlockFunctionBody(BlockFunctionBody node) { |
Token keyword = node.keyword; |
if (keyword != null) { |
- _buffer.write(keyword.lexeme); |
+ _writer.print(keyword.lexeme); |
if (node.star != null) { |
- _buffer.write('*'); |
+ _writer.print('*'); |
} |
- _buffer.write(' '); |
+ _writer.print(' '); |
} |
_visitNode(node.block); |
return null; |
@@ -6799,15 +6800,15 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitBooleanLiteral(BooleanLiteral node) { |
- _buffer.write(node.literal.lexeme); |
+ _writer.print(node.literal.lexeme); |
return null; |
} |
@override |
Object visitBreakStatement(BreakStatement node) { |
- _buffer.write("break"); |
+ _writer.print("break"); |
_visitNodeWithPrefix(" ", node.label); |
- _buffer.write(";"); |
+ _writer.print(";"); |
return null; |
} |
@@ -6823,14 +6824,14 @@ class ToSourceVisitor implements AstVisitor<Object> { |
_visitNodeWithPrefix("on ", node.exceptionType); |
if (node.catchKeyword != null) { |
if (node.exceptionType != null) { |
- _buffer.write(' '); |
+ _writer.print(' '); |
} |
- _buffer.write("catch ("); |
+ _writer.print("catch ("); |
_visitNode(node.exceptionParameter); |
_visitNodeWithPrefix(", ", node.stackTraceParameter); |
- _buffer.write(") "); |
+ _writer.print(") "); |
} else { |
- _buffer.write(" "); |
+ _writer.print(" "); |
} |
_visitNode(node.body); |
return null; |
@@ -6840,15 +6841,15 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitClassDeclaration(ClassDeclaration node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
_visitTokenWithSuffix(node.abstractKeyword, " "); |
- _buffer.write("class "); |
+ _writer.print("class "); |
_visitNode(node.name); |
_visitNode(node.typeParameters); |
_visitNodeWithPrefix(" ", node.extendsClause); |
_visitNodeWithPrefix(" ", node.withClause); |
_visitNodeWithPrefix(" ", node.implementsClause); |
- _buffer.write(" {"); |
+ _writer.print(" {"); |
_visitNodeListWithSeparator(node.members, " "); |
- _buffer.write("}"); |
+ _writer.print("}"); |
return null; |
} |
@@ -6856,16 +6857,16 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitClassTypeAlias(ClassTypeAlias node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
if (node.abstractKeyword != null) { |
- _buffer.write("abstract "); |
+ _writer.print("abstract "); |
} |
- _buffer.write("class "); |
+ _writer.print("class "); |
_visitNode(node.name); |
_visitNode(node.typeParameters); |
- _buffer.write(" = "); |
+ _writer.print(" = "); |
_visitNode(node.superclass); |
_visitNodeWithPrefix(" ", node.withClause); |
_visitNodeWithPrefix(" ", node.implementsClause); |
- _buffer.write(";"); |
+ _writer.print(";"); |
return null; |
} |
@@ -6890,19 +6891,19 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitConditionalExpression(ConditionalExpression node) { |
_visitNode(node.condition); |
- _buffer.write(" ? "); |
+ _writer.print(" ? "); |
_visitNode(node.thenExpression); |
- _buffer.write(" : "); |
+ _writer.print(" : "); |
_visitNode(node.elseExpression); |
return null; |
} |
@override |
Object visitConfiguration(Configuration node) { |
- _buffer.write('if ('); |
+ _writer.print('if ('); |
_visitNode(node.name); |
_visitNodeWithPrefix(" == ", node.value); |
- _buffer.write(') '); |
+ _writer.print(') '); |
_visitNode(node.libraryUri); |
return null; |
} |
@@ -6926,7 +6927,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitConstructorFieldInitializer(ConstructorFieldInitializer node) { |
_visitTokenWithSuffix(node.thisKeyword, "."); |
_visitNode(node.fieldName); |
- _buffer.write(" = "); |
+ _writer.print(" = "); |
_visitNode(node.expression); |
return null; |
} |
@@ -6940,9 +6941,9 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitContinueStatement(ContinueStatement node) { |
- _buffer.write("continue"); |
+ _writer.print("continue"); |
_visitNodeWithPrefix(" ", node.label); |
- _buffer.write(";"); |
+ _writer.print(";"); |
return null; |
} |
@@ -6959,8 +6960,8 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitDefaultFormalParameter(DefaultFormalParameter node) { |
_visitNode(node.parameter); |
if (node.separator != null) { |
- _buffer.write(" "); |
- _buffer.write(node.separator.lexeme); |
+ _writer.print(" "); |
+ _writer.print(node.separator.lexeme); |
_visitNodeWithPrefix(" ", node.defaultValue); |
} |
return null; |
@@ -6968,11 +6969,11 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitDoStatement(DoStatement node) { |
- _buffer.write("do "); |
+ _writer.print("do "); |
_visitNode(node.body); |
- _buffer.write(" while ("); |
+ _writer.print(" while ("); |
_visitNode(node.condition); |
- _buffer.write(");"); |
+ _writer.print(");"); |
return null; |
} |
@@ -6984,19 +6985,19 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitDoubleLiteral(DoubleLiteral node) { |
- _buffer.write(node.literal.lexeme); |
+ _writer.print(node.literal.lexeme); |
return null; |
} |
@override |
Object visitEmptyFunctionBody(EmptyFunctionBody node) { |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@override |
Object visitEmptyStatement(EmptyStatement node) { |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@@ -7010,21 +7011,21 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitEnumDeclaration(EnumDeclaration node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
- _buffer.write("enum "); |
+ _writer.print("enum "); |
_visitNode(node.name); |
- _buffer.write(" {"); |
+ _writer.print(" {"); |
_visitNodeListWithSeparator(node.constants, ", "); |
- _buffer.write("}"); |
+ _writer.print("}"); |
return null; |
} |
@override |
Object visitExportDirective(ExportDirective node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
- _buffer.write("export "); |
+ _writer.print("export "); |
_visitNode(node.uri); |
_visitNodeListWithSeparatorAndPrefix(" ", node.combinators, " "); |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@@ -7032,13 +7033,13 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitExpressionFunctionBody(ExpressionFunctionBody node) { |
Token keyword = node.keyword; |
if (keyword != null) { |
- _buffer.write(keyword.lexeme); |
- _buffer.write(' '); |
+ _writer.print(keyword.lexeme); |
+ _writer.print(' '); |
} |
- _buffer.write("=> "); |
+ _writer.print("=> "); |
_visitNode(node.expression); |
if (node.semicolon != null) { |
- _buffer.write(';'); |
+ _writer.print(';'); |
} |
return null; |
} |
@@ -7046,13 +7047,13 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitExpressionStatement(ExpressionStatement node) { |
_visitNode(node.expression); |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@override |
Object visitExtendsClause(ExtendsClause node) { |
- _buffer.write("extends "); |
+ _writer.print("extends "); |
_visitNode(node.superclass); |
return null; |
} |
@@ -7062,7 +7063,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
_visitTokenWithSuffix(node.staticKeyword, " "); |
_visitNode(node.fields); |
- _buffer.write(";"); |
+ _writer.print(";"); |
return null; |
} |
@@ -7071,7 +7072,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, ' ', ' '); |
_visitTokenWithSuffix(node.keyword, " "); |
_visitNodeWithSuffix(node.type, " "); |
- _buffer.write("this."); |
+ _writer.print("this."); |
_visitNode(node.identifier); |
_visitNode(node.typeParameters); |
_visitNode(node.parameters); |
@@ -7082,17 +7083,17 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitForEachStatement(ForEachStatement node) { |
DeclaredIdentifier loopVariable = node.loopVariable; |
if (node.awaitKeyword != null) { |
- _buffer.write("await "); |
+ _writer.print("await "); |
} |
- _buffer.write("for ("); |
+ _writer.print("for ("); |
if (loopVariable == null) { |
_visitNode(node.identifier); |
} else { |
_visitNode(loopVariable); |
} |
- _buffer.write(" in "); |
+ _writer.print(" in "); |
_visitNode(node.iterable); |
- _buffer.write(") "); |
+ _writer.print(") "); |
_visitNode(node.body); |
return null; |
} |
@@ -7100,46 +7101,46 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitFormalParameterList(FormalParameterList node) { |
String groupEnd = null; |
- _buffer.write('('); |
+ _writer.print('('); |
NodeList<FormalParameter> parameters = node.parameters; |
int size = parameters.length; |
for (int i = 0; i < size; i++) { |
FormalParameter parameter = parameters[i]; |
if (i > 0) { |
- _buffer.write(", "); |
+ _writer.print(", "); |
} |
if (groupEnd == null && parameter is DefaultFormalParameter) { |
if (parameter.kind == ParameterKind.NAMED) { |
groupEnd = "}"; |
- _buffer.write('{'); |
+ _writer.print('{'); |
} else { |
groupEnd = "]"; |
- _buffer.write('['); |
+ _writer.print('['); |
} |
} |
parameter.accept(this); |
} |
if (groupEnd != null) { |
- _buffer.write(groupEnd); |
+ _writer.print(groupEnd); |
} |
- _buffer.write(')'); |
+ _writer.print(')'); |
return null; |
} |
@override |
Object visitForStatement(ForStatement node) { |
Expression initialization = node.initialization; |
- _buffer.write("for ("); |
+ _writer.print("for ("); |
if (initialization != null) { |
_visitNode(initialization); |
} else { |
_visitNode(node.variables); |
} |
- _buffer.write(";"); |
+ _writer.print(";"); |
_visitNodeWithPrefix(" ", node.condition); |
- _buffer.write(";"); |
+ _writer.print(";"); |
_visitNodeListWithSeparatorAndPrefix(" ", node.updaters, ", "); |
- _buffer.write(") "); |
+ _writer.print(") "); |
_visitNode(node.body); |
return null; |
} |
@@ -7166,7 +7167,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
_visitNode(node.typeParameters); |
_visitNode(node.parameters); |
if (node.body is! EmptyFunctionBody) { |
- _buffer.write(' '); |
+ _writer.print(' '); |
} |
_visitNode(node.body); |
return null; |
@@ -7183,12 +7184,12 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitFunctionTypeAlias(FunctionTypeAlias node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
- _buffer.write("typedef "); |
+ _writer.print("typedef "); |
_visitNodeWithSuffix(node.returnType, " "); |
_visitNode(node.name); |
_visitNode(node.typeParameters); |
_visitNode(node.parameters); |
- _buffer.write(";"); |
+ _writer.print(";"); |
return null; |
} |
@@ -7204,16 +7205,16 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitHideCombinator(HideCombinator node) { |
- _buffer.write("hide "); |
+ _writer.print("hide "); |
_visitNodeListWithSeparator(node.hiddenNames, ", "); |
return null; |
} |
@override |
Object visitIfStatement(IfStatement node) { |
- _buffer.write("if ("); |
+ _writer.print("if ("); |
_visitNode(node.condition); |
- _buffer.write(") "); |
+ _writer.print(") "); |
_visitNode(node.thenStatement); |
_visitNodeWithPrefix(" else ", node.elseStatement); |
return null; |
@@ -7221,7 +7222,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitImplementsClause(ImplementsClause node) { |
- _buffer.write("implements "); |
+ _writer.print("implements "); |
_visitNodeListWithSeparator(node.interfaces, ", "); |
return null; |
} |
@@ -7229,27 +7230,27 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitImportDirective(ImportDirective node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
- _buffer.write("import "); |
+ _writer.print("import "); |
_visitNode(node.uri); |
if (node.deferredKeyword != null) { |
- _buffer.write(" deferred"); |
+ _writer.print(" deferred"); |
} |
_visitNodeWithPrefix(" as ", node.prefix); |
_visitNodeListWithSeparatorAndPrefix(" ", node.combinators, " "); |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@override |
Object visitIndexExpression(IndexExpression node) { |
if (node.isCascaded) { |
- _buffer.write(".."); |
+ _writer.print(".."); |
} else { |
_visitNode(node.target); |
} |
- _buffer.write('['); |
+ _writer.print('['); |
_visitNode(node.index); |
- _buffer.write(']'); |
+ _writer.print(']'); |
return null; |
} |
@@ -7263,18 +7264,18 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitIntegerLiteral(IntegerLiteral node) { |
- _buffer.write(node.literal.lexeme); |
+ _writer.print(node.literal.lexeme); |
return null; |
} |
@override |
Object visitInterpolationExpression(InterpolationExpression node) { |
if (node.rightBracket != null) { |
- _buffer.write("\${"); |
+ _writer.print("\${"); |
_visitNode(node.expression); |
- _buffer.write("}"); |
+ _writer.print("}"); |
} else { |
- _buffer.write("\$"); |
+ _writer.print("\$"); |
_visitNode(node.expression); |
} |
return null; |
@@ -7282,7 +7283,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitInterpolationString(InterpolationString node) { |
- _buffer.write(node.contents.lexeme); |
+ _writer.print(node.contents.lexeme); |
return null; |
} |
@@ -7290,9 +7291,9 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitIsExpression(IsExpression node) { |
_visitNode(node.expression); |
if (node.notOperator == null) { |
- _buffer.write(" is "); |
+ _writer.print(" is "); |
} else { |
- _buffer.write(" is! "); |
+ _writer.print(" is! "); |
} |
_visitNode(node.type); |
return null; |
@@ -7301,7 +7302,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitLabel(Label node) { |
_visitNode(node.label); |
- _buffer.write(":"); |
+ _writer.print(":"); |
return null; |
} |
@@ -7315,48 +7316,48 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitLibraryDirective(LibraryDirective node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
- _buffer.write("library "); |
+ _writer.print("library "); |
_visitNode(node.name); |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@override |
Object visitLibraryIdentifier(LibraryIdentifier node) { |
- _buffer.write(node.name); |
+ _writer.print(node.name); |
return null; |
} |
@override |
Object visitListLiteral(ListLiteral node) { |
if (node.constKeyword != null) { |
- _buffer.write(node.constKeyword.lexeme); |
- _buffer.write(' '); |
+ _writer.print(node.constKeyword.lexeme); |
+ _writer.print(' '); |
} |
_visitNodeWithSuffix(node.typeArguments, " "); |
- _buffer.write("["); |
+ _writer.print("["); |
_visitNodeListWithSeparator(node.elements, ", "); |
- _buffer.write("]"); |
+ _writer.print("]"); |
return null; |
} |
@override |
Object visitMapLiteral(MapLiteral node) { |
if (node.constKeyword != null) { |
- _buffer.write(node.constKeyword.lexeme); |
- _buffer.write(' '); |
+ _writer.print(node.constKeyword.lexeme); |
+ _writer.print(' '); |
} |
_visitNodeWithSuffix(node.typeArguments, " "); |
- _buffer.write("{"); |
+ _writer.print("{"); |
_visitNodeListWithSeparator(node.entries, ", "); |
- _buffer.write("}"); |
+ _writer.print("}"); |
return null; |
} |
@override |
Object visitMapLiteralEntry(MapLiteralEntry node) { |
_visitNode(node.key); |
- _buffer.write(" : "); |
+ _writer.print(" : "); |
_visitNode(node.value); |
return null; |
} |
@@ -7381,11 +7382,11 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitMethodInvocation(MethodInvocation node) { |
if (node.isCascaded) { |
- _buffer.write(".."); |
+ _writer.print(".."); |
} else { |
if (node.target != null) { |
node.target.accept(this); |
- _buffer.write(node.operator.lexeme); |
+ _writer.print(node.operator.lexeme); |
} |
} |
_visitNode(node.methodName); |
@@ -7403,69 +7404,69 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitNativeClause(NativeClause node) { |
- _buffer.write("native "); |
+ _writer.print("native "); |
_visitNode(node.name); |
return null; |
} |
@override |
Object visitNativeFunctionBody(NativeFunctionBody node) { |
- _buffer.write("native "); |
+ _writer.print("native "); |
_visitNode(node.stringLiteral); |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@override |
Object visitNullLiteral(NullLiteral node) { |
- _buffer.write("null"); |
+ _writer.print("null"); |
return null; |
} |
@override |
Object visitParenthesizedExpression(ParenthesizedExpression node) { |
- _buffer.write('('); |
+ _writer.print('('); |
_visitNode(node.expression); |
- _buffer.write(')'); |
+ _writer.print(')'); |
return null; |
} |
@override |
Object visitPartDirective(PartDirective node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
- _buffer.write("part "); |
+ _writer.print("part "); |
_visitNode(node.uri); |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@override |
Object visitPartOfDirective(PartOfDirective node) { |
_visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " "); |
- _buffer.write("part of "); |
+ _writer.print("part of "); |
_visitNode(node.libraryName); |
- _buffer.write(';'); |
+ _writer.print(';'); |
return null; |
} |
@override |
Object visitPostfixExpression(PostfixExpression node) { |
_visitNode(node.operand); |
- _buffer.write(node.operator.lexeme); |
+ _writer.print(node.operator.lexeme); |
return null; |
} |
@override |
Object visitPrefixedIdentifier(PrefixedIdentifier node) { |
_visitNode(node.prefix); |
- _buffer.write('.'); |
+ _writer.print('.'); |
_visitNode(node.identifier); |
return null; |
} |
@override |
Object visitPrefixExpression(PrefixExpression node) { |
- _buffer.write(node.operator.lexeme); |
+ _writer.print(node.operator.lexeme); |
_visitNode(node.operand); |
return null; |
} |
@@ -7473,10 +7474,10 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitPropertyAccess(PropertyAccess node) { |
if (node.isCascaded) { |
- _buffer.write(".."); |
+ _writer.print(".."); |
} else { |
_visitNode(node.target); |
- _buffer.write(node.operator.lexeme); |
+ _writer.print(node.operator.lexeme); |
} |
_visitNode(node.propertyName); |
return null; |
@@ -7485,7 +7486,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitRedirectingConstructorInvocation( |
RedirectingConstructorInvocation node) { |
- _buffer.write("this"); |
+ _writer.print("this"); |
_visitNodeWithPrefix(".", node.constructorName); |
_visitNode(node.argumentList); |
return null; |
@@ -7493,7 +7494,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitRethrowExpression(RethrowExpression node) { |
- _buffer.write("rethrow"); |
+ _writer.print("rethrow"); |
return null; |
} |
@@ -7501,24 +7502,24 @@ class ToSourceVisitor implements AstVisitor<Object> { |
Object visitReturnStatement(ReturnStatement node) { |
Expression expression = node.expression; |
if (expression == null) { |
- _buffer.write("return;"); |
+ _writer.print("return;"); |
} else { |
- _buffer.write("return "); |
+ _writer.print("return "); |
expression.accept(this); |
- _buffer.write(";"); |
+ _writer.print(";"); |
} |
return null; |
} |
@override |
Object visitScriptTag(ScriptTag node) { |
- _buffer.write(node.scriptTag.lexeme); |
+ _writer.print(node.scriptTag.lexeme); |
return null; |
} |
@override |
Object visitShowCombinator(ShowCombinator node) { |
- _buffer.write("show "); |
+ _writer.print("show "); |
_visitNodeListWithSeparator(node.shownNames, ", "); |
return null; |
} |
@@ -7534,13 +7535,13 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitSimpleIdentifier(SimpleIdentifier node) { |
- _buffer.write(node.token.lexeme); |
+ _writer.print(node.token.lexeme); |
return null; |
} |
@override |
Object visitSimpleStringLiteral(SimpleStringLiteral node) { |
- _buffer.write(node.literal.lexeme); |
+ _writer.print(node.literal.lexeme); |
return null; |
} |
@@ -7552,7 +7553,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitSuperConstructorInvocation(SuperConstructorInvocation node) { |
- _buffer.write("super"); |
+ _writer.print("super"); |
_visitNodeWithPrefix(".", node.constructorName); |
_visitNode(node.argumentList); |
return null; |
@@ -7560,16 +7561,16 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitSuperExpression(SuperExpression node) { |
- _buffer.write("super"); |
+ _writer.print("super"); |
return null; |
} |
@override |
Object visitSwitchCase(SwitchCase node) { |
_visitNodeListWithSeparatorAndSuffix(node.labels, " ", " "); |
- _buffer.write("case "); |
+ _writer.print("case "); |
_visitNode(node.expression); |
- _buffer.write(": "); |
+ _writer.print(": "); |
_visitNodeListWithSeparator(node.statements, " "); |
return null; |
} |
@@ -7577,43 +7578,43 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitSwitchDefault(SwitchDefault node) { |
_visitNodeListWithSeparatorAndSuffix(node.labels, " ", " "); |
- _buffer.write("default: "); |
+ _writer.print("default: "); |
_visitNodeListWithSeparator(node.statements, " "); |
return null; |
} |
@override |
Object visitSwitchStatement(SwitchStatement node) { |
- _buffer.write("switch ("); |
+ _writer.print("switch ("); |
_visitNode(node.expression); |
- _buffer.write(") {"); |
+ _writer.print(") {"); |
_visitNodeListWithSeparator(node.members, " "); |
- _buffer.write("}"); |
+ _writer.print("}"); |
return null; |
} |
@override |
Object visitSymbolLiteral(SymbolLiteral node) { |
- _buffer.write("#"); |
+ _writer.print("#"); |
List<Token> components = node.components; |
for (int i = 0; i < components.length; i++) { |
if (i > 0) { |
- _buffer.write("."); |
+ _writer.print("."); |
} |
- _buffer.write(components[i].lexeme); |
+ _writer.print(components[i].lexeme); |
} |
return null; |
} |
@override |
Object visitThisExpression(ThisExpression node) { |
- _buffer.write("this"); |
+ _writer.print("this"); |
return null; |
} |
@override |
Object visitThrowExpression(ThrowExpression node) { |
- _buffer.write("throw "); |
+ _writer.print("throw "); |
_visitNode(node.expression); |
return null; |
} |
@@ -7626,7 +7627,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitTryStatement(TryStatement node) { |
- _buffer.write("try "); |
+ _writer.print("try "); |
_visitNode(node.body); |
_visitNodeListWithSeparatorAndPrefix(" ", node.catchClauses, " "); |
_visitNodeWithPrefix(" finally ", node.finallyBlock); |
@@ -7635,9 +7636,9 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitTypeArgumentList(TypeArgumentList node) { |
- _buffer.write('<'); |
+ _writer.print('<'); |
_visitNodeListWithSeparator(node.arguments, ", "); |
- _buffer.write('>'); |
+ _writer.print('>'); |
return null; |
} |
@@ -7658,9 +7659,9 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitTypeParameterList(TypeParameterList node) { |
- _buffer.write('<'); |
+ _writer.print('<'); |
_visitNodeListWithSeparator(node.typeParameters, ", "); |
- _buffer.write('>'); |
+ _writer.print('>'); |
return null; |
} |
@@ -7684,22 +7685,22 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitVariableDeclarationStatement(VariableDeclarationStatement node) { |
_visitNode(node.variables); |
- _buffer.write(";"); |
+ _writer.print(";"); |
return null; |
} |
@override |
Object visitWhileStatement(WhileStatement node) { |
- _buffer.write("while ("); |
+ _writer.print("while ("); |
_visitNode(node.condition); |
- _buffer.write(") "); |
+ _writer.print(") "); |
_visitNode(node.body); |
return null; |
} |
@override |
Object visitWithClause(WithClause node) { |
- _buffer.write("with "); |
+ _writer.print("with "); |
_visitNodeListWithSeparator(node.mixinTypes, ", "); |
return null; |
} |
@@ -7707,12 +7708,12 @@ class ToSourceVisitor implements AstVisitor<Object> { |
@override |
Object visitYieldStatement(YieldStatement node) { |
if (node.star != null) { |
- _buffer.write("yield* "); |
+ _writer.print("yield* "); |
} else { |
- _buffer.write("yield "); |
+ _writer.print("yield "); |
} |
_visitNode(node.expression); |
- _buffer.write(";"); |
+ _writer.print(";"); |
return null; |
} |
@@ -7722,7 +7723,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
*/ |
void _visitFunctionWithPrefix(String prefix, FunctionBody body) { |
if (body is! EmptyFunctionBody) { |
- _buffer.write(prefix); |
+ _writer.print(prefix); |
} |
_visitNode(body); |
} |
@@ -7751,7 +7752,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
int size = nodes.length; |
for (int i = 0; i < size; i++) { |
if (i > 0) { |
- _buffer.write(separator); |
+ _writer.print(separator); |
} |
nodes[i].accept(this); |
} |
@@ -7767,10 +7768,10 @@ class ToSourceVisitor implements AstVisitor<Object> { |
if (nodes != null) { |
int size = nodes.length; |
if (size > 0) { |
- _buffer.write(prefix); |
+ _writer.print(prefix); |
for (int i = 0; i < size; i++) { |
if (i > 0) { |
- _buffer.write(separator); |
+ _writer.print(separator); |
} |
nodes[i].accept(this); |
} |
@@ -7789,11 +7790,11 @@ class ToSourceVisitor implements AstVisitor<Object> { |
if (size > 0) { |
for (int i = 0; i < size; i++) { |
if (i > 0) { |
- _buffer.write(separator); |
+ _writer.print(separator); |
} |
nodes[i].accept(this); |
} |
- _buffer.write(suffix); |
+ _writer.print(suffix); |
} |
} |
} |
@@ -7804,7 +7805,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
*/ |
void _visitNodeWithPrefix(String prefix, AstNode node) { |
if (node != null) { |
- _buffer.write(prefix); |
+ _writer.print(prefix); |
node.accept(this); |
} |
} |
@@ -7816,7 +7817,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
void _visitNodeWithSuffix(AstNode node, String suffix) { |
if (node != null) { |
node.accept(this); |
- _buffer.write(suffix); |
+ _writer.print(suffix); |
} |
} |
@@ -7826,8 +7827,8 @@ class ToSourceVisitor implements AstVisitor<Object> { |
*/ |
void _visitTokenWithSuffix(Token token, String suffix) { |
if (token != null) { |
- _buffer.write(token.lexeme); |
- _buffer.write(suffix); |
+ _writer.print(token.lexeme); |
+ _writer.print(suffix); |
} |
} |
} |