Skip to content

Commit 73dc4aa

Browse files
authored
Merge pull request swiftlang#111 from nkcsgexi/test-round-trip
test: add a syntax parse round-trip test
2 parents 3b715da + 8cea415 commit 73dc4aa

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<SourceFileSyntax><CodeBlockItemListSyntax><CodeBlockItemSyntax><FunctionDeclSyntax>// RUN: %empty-directory(%t)
2+
// RUN: %lit-test-helper -print-tree -source-file %s > %t.result
3+
// RUN: diff -u %t.result %S/output/print_verify_tree.swift.withkind
4+
5+
func </TokenSyntax>foo</TokenSyntax><FunctionSignatureSyntax><ParameterClauseSyntax>(</TokenSyntax><FunctionParameterListSyntax></FunctionParameterListSyntax>) </TokenSyntax></ParameterClauseSyntax></FunctionSignatureSyntax><CodeBlockSyntax>{</TokenSyntax><CodeBlockItemListSyntax><CodeBlockItemSyntax><IfConfigDeclSyntax><IfConfigClauseListSyntax><IfConfigClauseSyntax>
6+
#if </TokenSyntax><FunctionCallExprSyntax><IdentifierExprSyntax>swift</TokenSyntax></IdentifierExprSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><PrefixOperatorExprSyntax>>=</TokenSyntax><FloatLiteralExprSyntax>3.2</TokenSyntax></FloatLiteralExprSyntax></PrefixOperatorExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax>)</TokenSyntax></FunctionCallExprSyntax><CodeBlockItemListSyntax><CodeBlockItemSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax>
7+
components</TokenSyntax></IdentifierExprSyntax>.</TokenSyntax>append</TokenSyntax></MemberAccessExprSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><StringInterpolationExprSyntax>"</TokenSyntax><StringInterpolationSegmentsSyntax><StringSegmentSyntax>-b \"</TokenSyntax></StringSegmentSyntax><ExpressionSegmentSyntax>\</TokenSyntax>(</TokenSyntax><SubscriptExprSyntax><IdentifierExprSyntax>string</TokenSyntax></IdentifierExprSyntax>[</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><PrefixOperatorExprSyntax>..<</TokenSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax>string</TokenSyntax></IdentifierExprSyntax>.</TokenSyntax>index</TokenSyntax></MemberAccessExprSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax>before</TokenSyntax>: </TokenSyntax><MemberAccessExprSyntax><IdentifierExprSyntax>string</TokenSyntax></IdentifierExprSyntax>.</TokenSyntax>endIndex</TokenSyntax></MemberAccessExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax>)</TokenSyntax></FunctionCallExprSyntax></PrefixOperatorExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax>]</TokenSyntax></SubscriptExprSyntax>)</TokenSyntax></ExpressionSegmentSyntax><StringSegmentSyntax>\"</TokenSyntax></StringSegmentSyntax></StringInterpolationSegmentsSyntax>"</TokenSyntax></StringInterpolationExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax>)</TokenSyntax></FunctionCallExprSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax></IfConfigClauseSyntax><IfConfigClauseSyntax>
8+
#else</TokenSyntax><CodeBlockItemListSyntax><CodeBlockItemSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax>
9+
components</TokenSyntax></IdentifierExprSyntax>.</TokenSyntax>append</TokenSyntax></MemberAccessExprSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><StringInterpolationExprSyntax>"</TokenSyntax><StringInterpolationSegmentsSyntax><StringSegmentSyntax>-b \"</TokenSyntax></StringSegmentSyntax><ExpressionSegmentSyntax>\</TokenSyntax>(</TokenSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax>string</TokenSyntax></IdentifierExprSyntax>.</TokenSyntax>substring</TokenSyntax></MemberAccessExprSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax>to</TokenSyntax>: </TokenSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax>string</TokenSyntax></IdentifierExprSyntax>.</TokenSyntax>characters</TokenSyntax></MemberAccessExprSyntax>.</TokenSyntax>index</TokenSyntax></MemberAccessExprSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax>before</TokenSyntax>: </TokenSyntax><MemberAccessExprSyntax><IdentifierExprSyntax>string</TokenSyntax></IdentifierExprSyntax>.</TokenSyntax>endIndex</TokenSyntax></MemberAccessExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax>)</TokenSyntax></FunctionCallExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax>)</TokenSyntax></FunctionCallExprSyntax>)</TokenSyntax></ExpressionSegmentSyntax><StringSegmentSyntax>\"</TokenSyntax></StringSegmentSyntax></StringInterpolationSegmentsSyntax>"</TokenSyntax></StringInterpolationExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax>)</TokenSyntax></FunctionCallExprSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax></IfConfigClauseSyntax></IfConfigClauseListSyntax>
10+
#endif</TokenSyntax></IfConfigDeclSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax>
11+
}</TokenSyntax></CodeBlockSyntax></FunctionDeclSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax></TokenSyntax></SourceFileSyntax>

lit_tests/print_verify_tree.swift

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// RUN: %empty-directory(%t)
2+
// RUN: %lit-test-helper -print-tree -source-file %s > %t.result
3+
// RUN: diff -u %t.result %S/output/print_verify_tree.swift.withkind
4+
5+
func foo() {
6+
#if swift(>=3.2)
7+
components.append("-b \"\(string[..<string.index(before: string.endIndex)])\"")
8+
#else
9+
components.append("-b \"\(string.substring(to: string.characters.index(before: string.endIndex)))\"")
10+
#endif
11+
}

0 commit comments

Comments
 (0)