Skip to content

Commit 71d64cf

Browse files
committed
fix AST tests not reading last line of file
1 parent fbd4e01 commit 71d64cf

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

src/dparse/astprinter.d

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,9 +1126,12 @@ class XMLPrinter : ASTVisitor
11261126
override void visit(const NonVoidInitializer nonVoidInitializer) { mixin (tagAndAccept!"nonVoidInitializer"); }
11271127
override void visit(const Operands operands) { mixin (tagAndAccept!"operands"); }
11281128
override void visit(const OrExpression orExpression) { mixin (tagAndAccept!"orExpression"); }
1129-
override void visit(const OutStatement outStatement) { mixin (tagAndAccept!"outStatement"); } override void visit(const MixinDeclaration mixinDeclaration) { mixin (tagAndAccept!"mixinDeclaration"); }
1129+
override void visit(const OutStatement outStatement) { mixin (tagAndAccept!"outStatement"); }
1130+
override void visit(const MixinDeclaration mixinDeclaration) { mixin (tagAndAccept!"mixinDeclaration"); }
1131+
override void visit(const OutContractExpression outContractExpression) { mixin (tagAndAccept!"outContractExpression"); }
11301132
override void visit(const Parameters parameters) { mixin (tagAndAccept!"parameters"); }
1131-
override void visit(const Postblit postblit) { mixin (tagAndAccept!"postblit"); } override void visit(const NewAnonClassExpression newAnonClassExpression) { mixin (tagAndAccept!"newAnonClassExpression"); }
1133+
override void visit(const Postblit postblit) { mixin (tagAndAccept!"postblit"); }
1134+
override void visit(const NewAnonClassExpression newAnonClassExpression) { mixin (tagAndAccept!"newAnonClassExpression"); }
11321135
override void visit(const PragmaDeclaration pragmaDeclaration) { mixin (tagAndAccept!"pragmaDeclaration"); }
11331136
override void visit(const PragmaExpression pragmaExpression) { mixin (tagAndAccept!"pragmaExpression"); }
11341137
override void visit(const PrimaryExpression primaryExpression) { mixin (tagAndAccept!"primaryExpression"); }
@@ -1150,7 +1153,8 @@ class XMLPrinter : ASTVisitor
11501153
override void visit(const StructMemberInitializer structMemberInitializer) { mixin (tagAndAccept!"structMemberInitializer"); }
11511154
override void visit(const SwitchStatement switchStatement) { mixin (tagAndAccept!"switchStatement"); }
11521155
override void visit(const Symbol symbol) { mixin (tagAndAccept!"symbol"); }
1153-
override void visit(const SynchronizedStatement synchronizedStatement) { mixin (tagAndAccept!"synchronizedStatement"); } override void visit(const Statement statement) { mixin (tagAndAccept!"statement"); }
1156+
override void visit(const SynchronizedStatement synchronizedStatement) { mixin (tagAndAccept!"synchronizedStatement"); }
1157+
override void visit(const Statement statement) { mixin (tagAndAccept!"statement"); }
11541158
override void visit(const TemplateArgumentList templateArgumentList) { mixin (tagAndAccept!"templateArgumentList"); }
11551159
override void visit(const TemplateArguments templateArguments) { mixin (tagAndAccept!"templateArguments"); }
11561160
override void visit(const TemplateArgument templateArgument) { mixin (tagAndAccept!"templateArgument"); }
@@ -1167,13 +1171,17 @@ class XMLPrinter : ASTVisitor
11671171
override void visit(const TernaryExpression ternaryExpression) { mixin (tagAndAccept!"ternaryExpression"); }
11681172
override void visit(const TypeIdentifierPart typeIdentifierPart) { mixin (tagAndAccept!"typeIdentifierPart"); }
11691173
override void visit(const ThrowExpression throwExpression) { mixin (tagAndAccept!"throwExpression"); }
1170-
override void visit(const TryStatement tryStatement) { mixin (tagAndAccept!"tryStatement"); } override void visit(const TemplateInstance templateInstance) { mixin (tagAndAccept!"templateInstance"); }
1171-
override void visit(const TypeofExpression typeofExpression) { mixin (tagAndAccept!"typeofExpression"); } override void visit(const TypeSpecialization typeSpecialization) { mixin (tagAndAccept!"typeSpecialization"); } override void visit(const TraitsExpression traitsExpression) { mixin (tagAndAccept!"traitsExpression"); }
1174+
override void visit(const TryStatement tryStatement) { mixin (tagAndAccept!"tryStatement"); }
1175+
override void visit(const TemplateInstance templateInstance) { mixin (tagAndAccept!"templateInstance"); }
1176+
override void visit(const TypeofExpression typeofExpression) { mixin (tagAndAccept!"typeofExpression"); }
1177+
override void visit(const TypeSpecialization typeSpecialization) { mixin (tagAndAccept!"typeSpecialization"); }
1178+
override void visit(const TraitsExpression traitsExpression) { mixin (tagAndAccept!"traitsExpression"); }
11721179
override void visit(const Vector vector) { mixin (tagAndAccept!"vector"); }
11731180
override void visit(const VersionCondition versionCondition) { mixin (tagAndAccept!"versionCondition"); }
11741181
override void visit(const VersionSpecification versionSpecification) { mixin (tagAndAccept!"versionSpecification"); }
11751182
override void visit(const WhileStatement whileStatement) { mixin (tagAndAccept!"whileStatement"); }
1176-
override void visit(const WithStatement withStatement) { mixin (tagAndAccept!"withStatement"); } override void visit(const TypeidExpression typeidExpression) { mixin (tagAndAccept!"typeidExpression"); }
1183+
override void visit(const WithStatement withStatement) { mixin (tagAndAccept!"withStatement"); }
1184+
override void visit(const TypeidExpression typeidExpression) { mixin (tagAndAccept!"typeidExpression"); }
11771185
// dfmt on
11781186

11791187
alias visit = ASTVisitor.visit;

test/ast_checks/shortenedFunction.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
./module/declaration[2]/functionDeclaration/storageClass/atAttribute/identifier[text()="property"]
66
./module/declaration[2]/functionDeclaration//functionBody/shortenedFunctionBody
77
./module/declaration[2]/functionDeclaration//inOutContractExpression[1]//inContractExpression
8-
./module/declaration[2]/functionDeclaration//inOutContractExpression[2]//outContractExpression
8+
./module/declaration[2]/functionDeclaration//inOutContractExpression[2]//outContractExpression

test/run_tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ if [[ ${BUILDKITE:-} != "true" ]]; then
6161
checkCount=1
6262
currentPasses=0
6363
currentFailures=0
64-
while read -r line; do
64+
while read -r line || [ -n "$line" ]; do
6565
if ./tester --ast "$file" | xmllint --xpath "${line}" - 2>/dev/null > /dev/null; then
6666
((currentPasses=currentPasses+1))
6767
else

0 commit comments

Comments
 (0)