Skip to content

Commit

Permalink
Merge pull request apple#123 from kitasuke/SR-10241_string_literal
Browse files Browse the repository at this point in the history
SR-10241 Consolidate StringInterpolationExprSyntax to StringLiteralExprSyntax
  • Loading branch information
rintaro committed May 14, 2019
2 parents 7431099 + 6683720 commit 18e8f82
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
14 changes: 10 additions & 4 deletions Sources/SwiftSyntax/SyntaxFactory.swift.gyb
Expand Up @@ -199,10 +199,16 @@ public enum SyntaxFactory {
public static func makeStringLiteralExpr(_ text: String,
leadingTrivia: Trivia = [],
trailingTrivia: Trivia = []) -> StringLiteralExprSyntax {
let literal = makeStringLiteral("\"\(text)\"",
leadingTrivia: leadingTrivia,
trailingTrivia: trailingTrivia)
return makeStringLiteralExpr(stringLiteral: literal)
let string = makeStringSegment(text,
leadingTrivia: leadingTrivia,
trailingTrivia: trailingTrivia)
let segment = makeStringSegment(content: string)
let segments = makeStringLiteralSegments([segment])
let openQuote = makeStringQuoteToken(leadingTrivia: leadingTrivia)
let closeQuote = makeStringQuoteToken(trailingTrivia: trailingTrivia)
return makeStringLiteralExpr(openQuote: openQuote,
segments: segments,
closeQuote: closeQuote)
}

public static func makeVariableExpr(_ text: String,
Expand Down
4 changes: 2 additions & 2 deletions lit_tests/output/print_verify_tree.swift.withkind
Expand Up @@ -4,8 +4,8 @@

func </TokenSyntax><TokenSyntax>foo</TokenSyntax><FunctionSignatureSyntax><ParameterClauseSyntax><TokenSyntax>(</TokenSyntax><FunctionParameterListSyntax></FunctionParameterListSyntax><TokenSyntax>) </TokenSyntax></ParameterClauseSyntax></FunctionSignatureSyntax><CodeBlockSyntax><TokenSyntax>{</TokenSyntax><CodeBlockItemListSyntax><CodeBlockItemSyntax><IfConfigDeclSyntax><IfConfigClauseListSyntax><IfConfigClauseSyntax><TokenSyntax>
#if </TokenSyntax><FunctionCallExprSyntax><IdentifierExprSyntax><TokenSyntax>swift</TokenSyntax></IdentifierExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><PrefixOperatorExprSyntax><TokenSyntax>>=</TokenSyntax><FloatLiteralExprSyntax><TokenSyntax>3.2</TokenSyntax></FloatLiteralExprSyntax></PrefixOperatorExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax><CodeBlockItemListSyntax><CodeBlockItemSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>
components</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>append</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><StringInterpolationExprSyntax><TokenSyntax>"</TokenSyntax><StringInterpolationSegmentsSyntax><StringSegmentSyntax><TokenSyntax>-b \"</TokenSyntax></StringSegmentSyntax><ExpressionSegmentSyntax><TokenSyntax>\</TokenSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><SubscriptExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>[</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><PrefixOperatorExprSyntax><TokenSyntax>..<</TokenSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>index</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><TokenSyntax>before</TokenSyntax><TokenSyntax>: </TokenSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>endIndex</TokenSyntax></MemberAccessExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></PrefixOperatorExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>]</TokenSyntax></SubscriptExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></ExpressionSegmentSyntax><StringSegmentSyntax><TokenSyntax>\"</TokenSyntax></StringSegmentSyntax></StringInterpolationSegmentsSyntax><TokenSyntax>"</TokenSyntax></StringInterpolationExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax></IfConfigClauseSyntax><IfConfigClauseSyntax><TokenSyntax>
components</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>append</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><StringLiteralExprSyntax><TokenSyntax>"</TokenSyntax><StringLiteralSegmentsSyntax><StringSegmentSyntax><TokenSyntax>-b \"</TokenSyntax></StringSegmentSyntax><ExpressionSegmentSyntax><TokenSyntax>\</TokenSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><SubscriptExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>[</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><PrefixOperatorExprSyntax><TokenSyntax>..<</TokenSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>index</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><TokenSyntax>before</TokenSyntax><TokenSyntax>: </TokenSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>endIndex</TokenSyntax></MemberAccessExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></PrefixOperatorExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>]</TokenSyntax></SubscriptExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></ExpressionSegmentSyntax><StringSegmentSyntax><TokenSyntax>\"</TokenSyntax></StringSegmentSyntax></StringLiteralSegmentsSyntax><TokenSyntax>"</TokenSyntax></StringLiteralExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax></IfConfigClauseSyntax><IfConfigClauseSyntax><TokenSyntax>
#else</TokenSyntax><CodeBlockItemListSyntax><CodeBlockItemSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>
components</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>append</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><StringInterpolationExprSyntax><TokenSyntax>"</TokenSyntax><StringInterpolationSegmentsSyntax><StringSegmentSyntax><TokenSyntax>-b \"</TokenSyntax></StringSegmentSyntax><ExpressionSegmentSyntax><TokenSyntax>\</TokenSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>substring</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><TokenSyntax>to</TokenSyntax><TokenSyntax>: </TokenSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>characters</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>index</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><TokenSyntax>before</TokenSyntax><TokenSyntax>: </TokenSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>endIndex</TokenSyntax></MemberAccessExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></ExpressionSegmentSyntax><StringSegmentSyntax><TokenSyntax>\"</TokenSyntax></StringSegmentSyntax></StringInterpolationSegmentsSyntax><TokenSyntax>"</TokenSyntax></StringInterpolationExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax></IfConfigClauseSyntax></IfConfigClauseListSyntax><TokenSyntax>
components</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>append</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><StringLiteralExprSyntax><TokenSyntax>"</TokenSyntax><StringLiteralSegmentsSyntax><StringSegmentSyntax><TokenSyntax>-b \"</TokenSyntax></StringSegmentSyntax><ExpressionSegmentSyntax><TokenSyntax>\</TokenSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>substring</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><TokenSyntax>to</TokenSyntax><TokenSyntax>: </TokenSyntax><FunctionCallExprSyntax><MemberAccessExprSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>characters</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>index</TokenSyntax></MemberAccessExprSyntax><TokenSyntax>(</TokenSyntax><FunctionCallArgumentListSyntax><FunctionCallArgumentSyntax><TokenSyntax>before</TokenSyntax><TokenSyntax>: </TokenSyntax><MemberAccessExprSyntax><IdentifierExprSyntax><TokenSyntax>string</TokenSyntax></IdentifierExprSyntax><TokenSyntax>.</TokenSyntax><TokenSyntax>endIndex</TokenSyntax></MemberAccessExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></ExpressionSegmentSyntax><StringSegmentSyntax><TokenSyntax>\"</TokenSyntax></StringSegmentSyntax></StringLiteralSegmentsSyntax><TokenSyntax>"</TokenSyntax></StringLiteralExprSyntax></FunctionCallArgumentSyntax></FunctionCallArgumentListSyntax><TokenSyntax>)</TokenSyntax></FunctionCallExprSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax></IfConfigClauseSyntax></IfConfigClauseListSyntax><TokenSyntax>
#endif</TokenSyntax></IfConfigDeclSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax><TokenSyntax>
}</TokenSyntax></CodeBlockSyntax></FunctionDeclSyntax></CodeBlockItemSyntax></CodeBlockItemListSyntax><TokenSyntax></TokenSyntax></SourceFileSyntax>

0 comments on commit 18e8f82

Please sign in to comment.