blob: 648fe3698823e428d21699e598d1fdd67da76fe0 [file] [log] [blame]
<VariableDecl>// RUN: rm -rf %t
// RUN: %swift-syntax-test -input-source-filename %s -parse-gen > %t
// RUN: diff -u %s %t
// RUN: %swift-syntax-test -input-source-filename %s -parse-gen -print-node-kind > %t.withkinds
// RUN: diff -u %S/Outputs/round_trip_invalid.swift.withkinds %t.withkinds
// RUN: %swift-syntax-test -input-source-filename %s -eof > %t
// RUN: diff -u %s %t
// RUN: %swift-syntax-test -serialize-raw-tree -input-source-filename %s > %t.dump
// RUN: %swift-syntax-test -deserialize-raw-tree -input-source-filename %t.dump -output-filename %t
// RUN: diff -u %s %t
let <PatternBinding><IdentifierPattern>strings</IdentifierPattern><TypeAnnotation>: <ArrayType>[<ArrayType><SimpleTypeIdentifier>Strin</SimpleTypeIdentifier></ArrayType></ArrayType></TypeAnnotation></PatternBinding></VariableDecl><IdentifierExpr>[g</IdentifierExpr>]?<FunctionDecl>
// Function body without closing brace token.
func foo<FunctionSignature><ParameterClause>() </ParameterClause></FunctionSignature><CodeBlock>{<VariableDecl>
var <PatternBinding><IdentifierPattern>a </IdentifierPattern><InitializerClause>= <IntegerLiteralExpr>2</IntegerLiteralExpr></InitializerClause></PatternBinding></VariableDecl><ClassDecl>
class C <MemberDeclBlock>{<MemberDeclListItem><StructDecl>
struct S <MemberDeclBlock>{<MemberDeclListItem><EnumDecl>
enum E <MemberDeclBlock>{<MemberDeclListItem><ProtocolDecl>
protocol P <MemberDeclBlock>{<MemberDeclListItem><ExtensionDecl>
extension <SimpleTypeIdentifier>P </SimpleTypeIdentifier><MemberDeclBlock>{<MemberDeclListItem><InitializerDecl><DeclModifier>
public </DeclModifier>init<ParameterClause>(<FunctionParameter>a: (<TupleTypeElement><SimpleTypeIdentifier>Int </SimpleTypeIdentifier></TupleTypeElement>|| String)</FunctionParameter>)</ParameterClause></InitializerDecl></MemberDeclListItem></MemberDeclBlock></ExtensionDecl></MemberDeclListItem></MemberDeclBlock></ProtocolDecl></MemberDeclListItem></MemberDeclBlock></EnumDecl></MemberDeclListItem></MemberDeclBlock></StructDecl></MemberDeclListItem></MemberDeclBlock></ClassDecl></CodeBlock></FunctionDecl>