mirror of
https://github.com/apple/swift.git
synced 2025-12-25 12:15:36 +01:00
When the source code is invalid, this allows us to represent tokens that could not be used to form a valid syntax tree with more fidelity. This commit does not start using GarbageNodes yet, it just sets everything up for them.
506 lines
25 KiB
JSON
506 lines
25 KiB
JSON
{
|
|
"kind": "SourceFile",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"kind": "CodeBlockItemList",
|
|
"layout": [
|
|
{
|
|
"kind": "CodeBlockItem",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"kind": "ActorDecl",
|
|
"layout": [
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"kind": "ModifierList",
|
|
"layout": [
|
|
{
|
|
"kind": "DeclModifier",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "contextual_keyword",
|
|
"text": "distributed"
|
|
},
|
|
"leadingTrivia": "\/\/ RUN: %swift-syntax-test -input-source-filename %s -serialize-raw-tree > %t\n\/\/ RUN: diff %t %S\/Inputs\/serialize_distributed_actor.json -u\n\n",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "contextual_keyword",
|
|
"text": "actor"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "identifier",
|
|
"text": "DA"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"kind": "MemberDeclBlock",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "l_brace"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"kind": "MemberDeclList",
|
|
"layout": [
|
|
{
|
|
"kind": "MemberDeclListItem",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"kind": "FunctionDecl",
|
|
"layout": [
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"kind": "ModifierList",
|
|
"layout": [
|
|
{
|
|
"kind": "DeclModifier",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "contextual_keyword",
|
|
"text": "distributed"
|
|
},
|
|
"leadingTrivia": "\n ",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "kw_func"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "identifier",
|
|
"text": "hello"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"kind": "FunctionSignature",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"kind": "ParameterClause",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "l_paren"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"kind": "FunctionParameterList",
|
|
"layout": [
|
|
{
|
|
"kind": "FunctionParameter",
|
|
"layout": [
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "identifier",
|
|
"text": "name"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "colon"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"kind": "SimpleTypeIdentifier",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "identifier",
|
|
"text": "String"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "r_paren"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"kind": "ReturnClause",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "arrow"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"kind": "SimpleTypeIdentifier",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "identifier",
|
|
"text": "String"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": " ",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"kind": "CodeBlock",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "l_brace"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"kind": "CodeBlockItemList",
|
|
"layout": [
|
|
{
|
|
"kind": "CodeBlockItem",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"kind": "StringLiteralExpr",
|
|
"layout": [
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "string_quote"
|
|
},
|
|
"leadingTrivia": "\n ",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"kind": "StringLiteralSegments",
|
|
"layout": [
|
|
{
|
|
"kind": "StringSegment",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "string_segment",
|
|
"text": "Hello "
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
{
|
|
"kind": "ExpressionSegment",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "backslash"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "l_paren"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"kind": "TupleExprElementList",
|
|
"layout": [
|
|
{
|
|
"kind": "TupleExprElement",
|
|
"layout": [
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
{
|
|
"kind": "IdentifierExpr",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "identifier",
|
|
"text": "name"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "string_interpolation_anchor"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
{
|
|
"kind": "StringSegment",
|
|
"layout": [
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "string_segment",
|
|
"text": "!"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "string_quote"
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "r_brace"
|
|
},
|
|
"leadingTrivia": "\n ",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "r_brace"
|
|
},
|
|
"leadingTrivia": "\n",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
],
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
},
|
|
null,
|
|
{
|
|
"tokenKind": {
|
|
"kind": "eof",
|
|
"text": ""
|
|
},
|
|
"leadingTrivia": "",
|
|
"trailingTrivia": "",
|
|
"presence": "Present"
|
|
}
|
|
],
|
|
"presence": "Present"
|
|
}
|