Skip to content

Commit cbaf890

Browse files
committed
[kernel] Few more tweaks to ast_to_text for Constant nodes.
- Change formatting of Set/Map/List constants to match Dart literals - Add formatting methods for TearOff and PartialInstantiation constants Change-Id: Ie7deac3ee6b5a60e0bcc8088bab2c819a1d3788a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108808 Reviewed-by: Jens Johansen <[email protected]> Commit-Queue: Vyacheslav Egorov <[email protected]>
1 parent 28f95fc commit cbaf890

File tree

1 file changed

+33
-10
lines changed

1 file changed

+33
-10
lines changed

pkg/kernel/lib/text/ast_to_text.dart

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2020,33 +2020,31 @@ class Printer extends Visitor<Null> {
20202020
writeIndentation();
20212021
writeConstantReference(node);
20222022
writeSpaced('=');
2023-
writeWord('ListConstant');
20242023
writeSymbol('<');
20252024
writeType(node.typeArgument);
2026-
writeSymbol('>(');
2025+
writeSymbol('>[');
20272026
writeList(node.entries, writeConstantReference);
2028-
endLine(')');
2027+
endLine(']');
20292028
}
20302029

20312030
visitSetConstant(SetConstant node) {
20322031
writeIndentation();
20332032
writeConstantReference(node);
20342033
writeSpaced('=');
2035-
write('SetConstant<');
20362034
writeSymbol('<');
20372035
writeType(node.typeArgument);
2038-
writeSymbol('>(');
2036+
writeSymbol('>{');
20392037
writeList(node.entries, writeConstantReference);
2040-
endLine(')');
2038+
endLine('}');
20412039
}
20422040

20432041
visitMapConstant(MapConstant node) {
20442042
writeIndentation();
20452043
writeConstantReference(node);
20462044
writeSpaced('=');
2047-
write('MapConstant<');
2045+
writeSymbol('<');
20482046
writeList([node.keyType, node.valueType], writeType);
2049-
writeSymbol('>(');
2047+
writeSymbol('>{');
20502048
writeList(node.entries, (entry) {
20512049
writeConstantReference(entry.key);
20522050
writeSymbol(':');
@@ -2074,20 +2072,45 @@ class Printer extends Visitor<Null> {
20742072
endLine('}');
20752073
}
20762074

2075+
visitPartialInstantiationConstant(PartialInstantiationConstant node) {
2076+
writeIndentation();
2077+
writeConstantReference(node);
2078+
writeSpaced('=');
2079+
writeWord('partial-instantiation');
2080+
writeSpace();
2081+
writeMemberReferenceFromReference(node.tearOffConstant.procedureReference);
2082+
writeSpace();
2083+
writeSymbol('<');
2084+
writeList(node.types, writeType);
2085+
writeSymbol('>');
2086+
endLine();
2087+
}
2088+
20772089
visitStringConstant(StringConstant node) {
20782090
writeIndentation();
20792091
writeConstantReference(node);
20802092
writeSpaced('=');
20812093
endLine('"${escapeString(node.value)}"');
20822094
}
20832095

2096+
visitTearOffConstant(TearOffConstant node) {
2097+
writeIndentation();
2098+
writeConstantReference(node);
2099+
writeSpaced('=');
2100+
writeWord('tearoff');
2101+
writeSpace();
2102+
writeMemberReferenceFromReference(node.procedureReference);
2103+
endLine();
2104+
}
2105+
20842106
visitUnevaluatedConstant(UnevaluatedConstant node) {
20852107
writeIndentation();
20862108
writeConstantReference(node);
20872109
writeSpaced('=');
2088-
writeSymbol('(');
2110+
writeSymbol('eval');
2111+
writeSpace();
20892112
writeExpression(node.expression);
2090-
endLine(')');
2113+
endLine();
20912114
}
20922115

20932116
defaultNode(Node node) {

0 commit comments

Comments
 (0)