diff --git a/MODULE.bazel b/MODULE.bazel index f4fe79342e60..006ae56b6973 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -32,7 +32,7 @@ bazel_dep(name = "rules_dotnet", version = "0.21.5-codeql.1") bazel_dep(name = "googletest", version = "1.18.0.bcr.1") bazel_dep(name = "rules_rust", version = "0.74.0") bazel_dep(name = "rules_swift", version = "4.0.0-rc5-codeql.3") -bazel_dep(name = "swift-syntax", version = "603.0.2") +bazel_dep(name = "swift-syntax", version = "604.0.0") bazel_dep(name = "zstd", version = "1.5.7.bcr.3") bazel_dep(name = "buildifier_prebuilt", version = "10.1.0", dev_dependency = True) diff --git a/unified/extractor/swift_node_types.yml b/unified/extractor/swift_node_types.yml index 16db4cbf0c64..88214ea2c0dc 100644 --- a/unified/extractor/swift_node_types.yml +++ b/unified/extractor/swift_node_types.yml @@ -273,7 +273,7 @@ named: endOfFileToken: _token accessorDecl: attributes*: [attribute, ifConfigDecl] - modifier?: declModifier + modifiers*: declModifier accessorSpecifier: _token parameters?: accessorParameters effectSpecifiers?: accessorEffectSpecifiers diff --git a/unified/extractor/tests/corpus/swift/control-flow/defer-statement.output b/unified/extractor/tests/corpus/swift/control-flow/defer-statement.output index dc073f8be151..52d2ad2696b8 100644 --- a/unified/extractor/tests/corpus/swift/control-flow/defer-statement.output +++ b/unified/extractor/tests/corpus/swift/control-flow/defer-statement.output @@ -62,8 +62,8 @@ sourceFile calledExpression: declReferenceExpr baseName: identifier "print" - name: identifier "withCleanup" modifiers: + name: identifier "withCleanup" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/control-flow/discard-statement.output b/unified/extractor/tests/corpus/swift/control-flow/discard-statement.output index 25dcbe059bd9..50628cfc354b 100644 --- a/unified/extractor/tests/corpus/swift/control-flow/discard-statement.output +++ b/unified/extractor/tests/corpus/swift/control-flow/discard-statement.output @@ -13,6 +13,7 @@ sourceFile item: structDecl attributes: + modifiers: name: identifier "Resource" inheritanceClause: inheritanceClause @@ -46,10 +47,10 @@ sourceFile declReferenceExpr baseName: self discardKeyword: discard - name: identifier "close" modifiers: declModifier name: consuming + name: identifier "close" signature: functionSignature parameterClause: @@ -58,7 +59,6 @@ sourceFile rightParen: ) parameters: funcKeyword: func - modifiers: structKeyword: struct --- diff --git a/unified/extractor/tests/corpus/swift/control-flow/fallthrough.output b/unified/extractor/tests/corpus/swift/control-flow/fallthrough.output index 080c3b0089d3..d66f8c856e02 100644 --- a/unified/extractor/tests/corpus/swift/control-flow/fallthrough.output +++ b/unified/extractor/tests/corpus/swift/control-flow/fallthrough.output @@ -60,8 +60,8 @@ sourceFile declReferenceExpr baseName: identifier "x" switchKeyword: switch - name: identifier "classify" modifiers: + name: identifier "classify" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/expressions/super-expression.output b/unified/extractor/tests/corpus/swift/expressions/super-expression.output index 96665cae06c5..2c7d9739e658 100644 --- a/unified/extractor/tests/corpus/swift/expressions/super-expression.output +++ b/unified/extractor/tests/corpus/swift/expressions/super-expression.output @@ -20,6 +20,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Base" memberBlock: memberBlock @@ -52,8 +53,8 @@ sourceFile leftBrace: { rightBrace: } statements: - name: identifier "update" modifiers: + name: identifier "update" signature: functionSignature parameterClause: @@ -62,12 +63,12 @@ sourceFile rightParen: ) parameters: funcKeyword: func - modifiers: classKeyword: class codeBlockItem item: classDecl attributes: + modifiers: name: identifier "Derived" inheritanceClause: inheritanceClause @@ -125,10 +126,10 @@ sourceFile base: superExpr superKeyword: super - name: identifier "update" modifiers: declModifier name: override + name: identifier "update" signature: functionSignature parameterClause: @@ -137,7 +138,6 @@ sourceFile rightParen: ) parameters: funcKeyword: func - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/expressions/unsafe-expression.output b/unified/extractor/tests/corpus/swift/expressions/unsafe-expression.output index 427b4503f8ad..0acff823d2c8 100644 --- a/unified/extractor/tests/corpus/swift/expressions/unsafe-expression.output +++ b/unified/extractor/tests/corpus/swift/expressions/unsafe-expression.output @@ -15,8 +15,8 @@ sourceFile leftBrace: { rightBrace: } statements: - name: identifier "doWork" modifiers: + name: identifier "doWork" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/attributed-parameter-types.output b/unified/extractor/tests/corpus/swift/functions/attributed-parameter-types.output index b1e859cfd98c..24a1507f5295 100644 --- a/unified/extractor/tests/corpus/swift/functions/attributed-parameter-types.output +++ b/unified/extractor/tests/corpus/swift/functions/attributed-parameter-types.output @@ -21,6 +21,7 @@ sourceFile leftBrace: { rightBrace: } statements: + modifiers: name: identifier "f" genericParameterClause: genericParameterClause @@ -34,7 +35,6 @@ sourceFile name: identifier "T" leftAngle: < rightAngle: > - modifiers: signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output b/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output index d7d24c5c8746..afc5234b2f71 100644 --- a/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output +++ b/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output @@ -11,18 +11,19 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Foo" memberBlock: memberBlock leftBrace: { rightBrace: } members: - modifiers: classKeyword: class codeBlockItem item: classDecl attributes: + modifiers: name: identifier "C" genericParameterClause: genericParameterClause @@ -37,7 +38,6 @@ sourceFile leftBrace: { rightBrace: } members: - modifiers: classKeyword: class codeBlockItem item: diff --git a/unified/extractor/tests/corpus/swift/functions/function-with-default-parameter-value.output b/unified/extractor/tests/corpus/swift/functions/function-with-default-parameter-value.output index 76455bed5f27..c1407cf91e84 100644 --- a/unified/extractor/tests/corpus/swift/functions/function-with-default-parameter-value.output +++ b/unified/extractor/tests/corpus/swift/functions/function-with-default-parameter-value.output @@ -30,8 +30,8 @@ sourceFile calledExpression: declReferenceExpr baseName: identifier "print" - name: identifier "greet" modifiers: + name: identifier "greet" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/function-with-inout-parameter.output b/unified/extractor/tests/corpus/swift/functions/function-with-inout-parameter.output index 1f39706707e1..5150a58b9ad2 100644 --- a/unified/extractor/tests/corpus/swift/functions/function-with-inout-parameter.output +++ b/unified/extractor/tests/corpus/swift/functions/function-with-inout-parameter.output @@ -28,8 +28,8 @@ sourceFile rightOperand: integerLiteralExpr literal: integerLiteral "1" - name: identifier "increment" modifiers: + name: identifier "increment" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/function-with-named-parameters.output b/unified/extractor/tests/corpus/swift/functions/function-with-named-parameters.output index 878581f34212..1f9c16392d35 100644 --- a/unified/extractor/tests/corpus/swift/functions/function-with-named-parameters.output +++ b/unified/extractor/tests/corpus/swift/functions/function-with-named-parameters.output @@ -30,8 +30,8 @@ sourceFile calledExpression: declReferenceExpr baseName: identifier "print" - name: identifier "greet" modifiers: + name: identifier "greet" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/function-with-no-parameters.output b/unified/extractor/tests/corpus/swift/functions/function-with-no-parameters.output index 738cba0116ac..4b36436cf982 100644 --- a/unified/extractor/tests/corpus/swift/functions/function-with-no-parameters.output +++ b/unified/extractor/tests/corpus/swift/functions/function-with-no-parameters.output @@ -34,8 +34,8 @@ sourceFile calledExpression: declReferenceExpr baseName: identifier "print" - name: identifier "greet" modifiers: + name: identifier "greet" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/function-with-parameters-and-return-type.output b/unified/extractor/tests/corpus/swift/functions/function-with-parameters-and-return-type.output index 1a5eb6bddd7c..824f0d84eeca 100644 --- a/unified/extractor/tests/corpus/swift/functions/function-with-parameters-and-return-type.output +++ b/unified/extractor/tests/corpus/swift/functions/function-with-parameters-and-return-type.output @@ -31,8 +31,8 @@ sourceFile declReferenceExpr baseName: identifier "b" returnKeyword: return - name: identifier "add" modifiers: + name: identifier "add" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/generic-function.output b/unified/extractor/tests/corpus/swift/functions/generic-function.output index 5c70307c6323..c8186fb6dd18 100644 --- a/unified/extractor/tests/corpus/swift/functions/generic-function.output +++ b/unified/extractor/tests/corpus/swift/functions/generic-function.output @@ -23,6 +23,7 @@ sourceFile declReferenceExpr baseName: identifier "x" returnKeyword: return + modifiers: name: identifier "identity" genericParameterClause: genericParameterClause @@ -32,7 +33,6 @@ sourceFile name: identifier "T" leftAngle: < rightAngle: > - modifiers: signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/functions/generic-type-alias.output b/unified/extractor/tests/corpus/swift/functions/generic-type-alias.output index 4a7bb5d7b787..3b887f71abfc 100644 --- a/unified/extractor/tests/corpus/swift/functions/generic-type-alias.output +++ b/unified/extractor/tests/corpus/swift/functions/generic-type-alias.output @@ -9,6 +9,7 @@ sourceFile item: typeAliasDecl attributes: + modifiers: name: identifier "Box" genericParameterClause: genericParameterClause @@ -26,7 +27,6 @@ sourceFile name: identifier "U" leftAngle: < rightAngle: > - modifiers: initializer: typeInitializerClause equal: = diff --git a/unified/extractor/tests/corpus/swift/functions/nested-function-type.output b/unified/extractor/tests/corpus/swift/functions/nested-function-type.output index f4bdf2845df7..aaad50500e43 100644 --- a/unified/extractor/tests/corpus/swift/functions/nested-function-type.output +++ b/unified/extractor/tests/corpus/swift/functions/nested-function-type.output @@ -11,8 +11,8 @@ sourceFile item: typeAliasDecl attributes: - name: identifier "NestedFunction" modifiers: + name: identifier "NestedFunction" initializer: typeInitializerClause equal: = @@ -48,8 +48,8 @@ sourceFile item: typeAliasDecl attributes: - name: identifier "MixedParametersAndTuples" modifiers: + name: identifier "MixedParametersAndTuples" initializer: typeInitializerClause equal: = diff --git a/unified/extractor/tests/corpus/swift/functions/variadic-function.output b/unified/extractor/tests/corpus/swift/functions/variadic-function.output index 9d5d1a6e5b95..0375165f23a6 100644 --- a/unified/extractor/tests/corpus/swift/functions/variadic-function.output +++ b/unified/extractor/tests/corpus/swift/functions/variadic-function.output @@ -44,8 +44,8 @@ sourceFile declReferenceExpr baseName: identifier "values" returnKeyword: return - name: identifier "sum" modifiers: + name: identifier "sum" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-casts.output b/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-casts.output index 8dddba738a54..ee38198c0cc7 100644 --- a/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-casts.output +++ b/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-casts.output @@ -57,8 +57,8 @@ sourceFile operator: binaryOperator ".&" declReferenceExpr baseName: identifier "b" - name: identifier "casts" modifiers: + name: identifier "casts" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-ternary.output b/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-ternary.output index c4a869673049..20235e99a073 100644 --- a/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-ternary.output +++ b/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence-with-ternary.output @@ -37,8 +37,8 @@ sourceFile declReferenceExpr baseName: identifier "d" returnKeyword: return - name: identifier "choose" modifiers: + name: identifier "choose" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence.output b/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence.output index cbe6f488db6a..401e25e6fcce 100644 --- a/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence.output +++ b/unified/extractor/tests/corpus/swift/operators/unresolved-operator-sequence.output @@ -30,8 +30,8 @@ sourceFile operator: binaryOperator ".&" declReferenceExpr baseName: identifier "b" - name: identifier "combine" modifiers: + name: identifier "combine" signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/optionals-and-errors/throwing-function.output b/unified/extractor/tests/corpus/swift/optionals-and-errors/throwing-function.output index 6e6cc3b99e18..02f9117db7c6 100644 --- a/unified/extractor/tests/corpus/swift/optionals-and-errors/throwing-function.output +++ b/unified/extractor/tests/corpus/swift/optionals-and-errors/throwing-function.output @@ -27,8 +27,8 @@ sourceFile stringSegment content: stringSegment returnKeyword: return - name: identifier "read" modifiers: + name: identifier "read" signature: functionSignature effectSpecifiers: diff --git a/unified/extractor/tests/corpus/swift/types/actor-declaration.output b/unified/extractor/tests/corpus/swift/types/actor-declaration.output index 89d549b0e749..0344a5ddddb8 100644 --- a/unified/extractor/tests/corpus/swift/types/actor-declaration.output +++ b/unified/extractor/tests/corpus/swift/types/actor-declaration.output @@ -11,6 +11,7 @@ sourceFile item: actorDecl attributes: + modifiers: name: identifier "Counter" actorKeyword: actor memberBlock: @@ -35,7 +36,6 @@ sourceFile pattern: identifierPattern identifier: identifier "value" - modifiers: --- diff --git a/unified/extractor/tests/corpus/swift/types/binding-modifier-does-not-leak-into-accessor-body.output b/unified/extractor/tests/corpus/swift/types/binding-modifier-does-not-leak-into-accessor-body.output index f3ce25b05608..24e0979bdd00 100644 --- a/unified/extractor/tests/corpus/swift/types/binding-modifier-does-not-leak-into-accessor-body.output +++ b/unified/extractor/tests/corpus/swift/types/binding-modifier-does-not-leak-into-accessor-body.output @@ -87,6 +87,7 @@ sourceFile declReferenceExpr baseName: identifier "y" switchKeyword: switch + modifiers: leftBrace: { rightBrace: } diff --git a/unified/extractor/tests/corpus/swift/types/class-function.output b/unified/extractor/tests/corpus/swift/types/class-function.output index 6e3066aae39b..6f1bb29365f0 100644 --- a/unified/extractor/tests/corpus/swift/types/class-function.output +++ b/unified/extractor/tests/corpus/swift/types/class-function.output @@ -11,6 +11,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Factory" memberBlock: memberBlock @@ -26,10 +27,10 @@ sourceFile leftBrace: { rightBrace: } statements: - name: identifier "make" modifiers: declModifier name: class + name: identifier "make" signature: functionSignature parameterClause: @@ -38,7 +39,6 @@ sourceFile rightParen: ) parameters: funcKeyword: func - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/class-inheritance.output b/unified/extractor/tests/corpus/swift/types/class-inheritance.output index 82ae4302188a..82426d8df74d 100644 --- a/unified/extractor/tests/corpus/swift/types/class-inheritance.output +++ b/unified/extractor/tests/corpus/swift/types/class-inheritance.output @@ -9,6 +9,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Dog" inheritanceClause: inheritanceClause @@ -23,7 +24,6 @@ sourceFile leftBrace: { rightBrace: } members: - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/class-with-initializer.output b/unified/extractor/tests/corpus/swift/types/class-with-initializer.output index b2141c5bb6e3..708558af870e 100644 --- a/unified/extractor/tests/corpus/swift/types/class-with-initializer.output +++ b/unified/extractor/tests/corpus/swift/types/class-with-initializer.output @@ -14,6 +14,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Point" memberBlock: memberBlock @@ -81,7 +82,6 @@ sourceFile name: identifier "Int" firstName: identifier "x" initKeyword: init - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/class-with-method.output b/unified/extractor/tests/corpus/swift/types/class-with-method.output index 5eb5a4e4bd69..831912cd8437 100644 --- a/unified/extractor/tests/corpus/swift/types/class-with-method.output +++ b/unified/extractor/tests/corpus/swift/types/class-with-method.output @@ -14,6 +14,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Counter" memberBlock: memberBlock @@ -58,8 +59,8 @@ sourceFile rightOperand: integerLiteralExpr literal: integerLiteral "1" - name: identifier "bump" modifiers: + name: identifier "bump" signature: functionSignature parameterClause: @@ -68,7 +69,6 @@ sourceFile rightParen: ) parameters: funcKeyword: func - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/class-with-multiple-base-types.output b/unified/extractor/tests/corpus/swift/types/class-with-multiple-base-types.output index 9ba006347a46..3c410fb1a45a 100644 --- a/unified/extractor/tests/corpus/swift/types/class-with-multiple-base-types.output +++ b/unified/extractor/tests/corpus/swift/types/class-with-multiple-base-types.output @@ -9,6 +9,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Button" inheritanceClause: inheritanceClause @@ -28,7 +29,6 @@ sourceFile leftBrace: { rightBrace: } members: - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/class-with-stored-properties.output b/unified/extractor/tests/corpus/swift/types/class-with-stored-properties.output index 4f95ca0e61f7..37df537cb74f 100644 --- a/unified/extractor/tests/corpus/swift/types/class-with-stored-properties.output +++ b/unified/extractor/tests/corpus/swift/types/class-with-stored-properties.output @@ -12,6 +12,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Point" memberBlock: memberBlock @@ -52,7 +53,6 @@ sourceFile type: identifierType name: identifier "Int" - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/computed-property.output b/unified/extractor/tests/corpus/swift/types/computed-property.output index 83e7c84a1a3a..30a496762bd1 100644 --- a/unified/extractor/tests/corpus/swift/types/computed-property.output +++ b/unified/extractor/tests/corpus/swift/types/computed-property.output @@ -15,6 +15,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Rect" memberBlock: memberBlock @@ -92,7 +93,6 @@ sourceFile returnKeyword: return leftBrace: { rightBrace: } - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/conditional-compilation-in-class-body.output b/unified/extractor/tests/corpus/swift/types/conditional-compilation-in-class-body.output index 05a538e6de09..4d6fdc40564a 100644 --- a/unified/extractor/tests/corpus/swift/types/conditional-compilation-in-class-body.output +++ b/unified/extractor/tests/corpus/swift/types/conditional-compilation-in-class-body.output @@ -18,6 +18,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "C" memberBlock: memberBlock @@ -72,7 +73,6 @@ sourceFile baseName: identifier "DEBUG" poundKeyword: #if poundEndif: #endif - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/constructor-with-parameters.output b/unified/extractor/tests/corpus/swift/types/constructor-with-parameters.output index aaaef2029829..fe8a523b72cc 100644 --- a/unified/extractor/tests/corpus/swift/types/constructor-with-parameters.output +++ b/unified/extractor/tests/corpus/swift/types/constructor-with-parameters.output @@ -11,6 +11,7 @@ sourceFile item: structDecl attributes: + modifiers: name: identifier "Size" memberBlock: memberBlock @@ -54,7 +55,6 @@ sourceFile firstName: identifier "height" secondName: identifier "h" initKeyword: init - modifiers: structKeyword: struct --- diff --git a/unified/extractor/tests/corpus/swift/types/empty-class.output b/unified/extractor/tests/corpus/swift/types/empty-class.output index e1c4e70fde09..39b4708f49ea 100644 --- a/unified/extractor/tests/corpus/swift/types/empty-class.output +++ b/unified/extractor/tests/corpus/swift/types/empty-class.output @@ -9,13 +9,13 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Foo" memberBlock: memberBlock leftBrace: { rightBrace: } members: - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/enum-with-associated-values.output b/unified/extractor/tests/corpus/swift/types/enum-with-associated-values.output index 2d0432557fe5..655bc8e33040 100644 --- a/unified/extractor/tests/corpus/swift/types/enum-with-associated-values.output +++ b/unified/extractor/tests/corpus/swift/types/enum-with-associated-values.output @@ -12,6 +12,7 @@ sourceFile item: enumDecl attributes: + modifiers: name: identifier "Shape" memberBlock: memberBlock @@ -60,7 +61,6 @@ sourceFile name: identifier "Double" firstName: identifier "side" caseKeyword: case - modifiers: enumKeyword: enum --- diff --git a/unified/extractor/tests/corpus/swift/types/enum-with-cases.output b/unified/extractor/tests/corpus/swift/types/enum-with-cases.output index 8b3fa7f85775..1be440f832f2 100644 --- a/unified/extractor/tests/corpus/swift/types/enum-with-cases.output +++ b/unified/extractor/tests/corpus/swift/types/enum-with-cases.output @@ -14,6 +14,7 @@ sourceFile item: enumDecl attributes: + modifiers: name: identifier "Direction" memberBlock: memberBlock @@ -56,7 +57,6 @@ sourceFile enumCaseElement name: identifier "west" caseKeyword: case - modifiers: enumKeyword: enum --- diff --git a/unified/extractor/tests/corpus/swift/types/enum-with-comma-separated-cases-chained-declaration.output b/unified/extractor/tests/corpus/swift/types/enum-with-comma-separated-cases-chained-declaration.output index 8325b84b5bef..5476a9e835bb 100644 --- a/unified/extractor/tests/corpus/swift/types/enum-with-comma-separated-cases-chained-declaration.output +++ b/unified/extractor/tests/corpus/swift/types/enum-with-comma-separated-cases-chained-declaration.output @@ -11,6 +11,7 @@ sourceFile item: enumDecl attributes: + modifiers: name: identifier "Suit" memberBlock: memberBlock @@ -35,7 +36,6 @@ sourceFile enumCaseElement name: identifier "spades" caseKeyword: case - modifiers: enumKeyword: enum --- diff --git a/unified/extractor/tests/corpus/swift/types/extension.output b/unified/extractor/tests/corpus/swift/types/extension.output index 2830565acf9a..1f5ad4bf612b 100644 --- a/unified/extractor/tests/corpus/swift/types/extension.output +++ b/unified/extractor/tests/corpus/swift/types/extension.output @@ -11,6 +11,7 @@ sourceFile item: extensionDecl attributes: + modifiers: memberBlock: memberBlock leftBrace: { @@ -40,8 +41,8 @@ sourceFile declReferenceExpr baseName: self returnKeyword: return - name: identifier "squared" modifiers: + name: identifier "squared" signature: functionSignature parameterClause: @@ -56,7 +57,6 @@ sourceFile identifierType name: identifier "Int" funcKeyword: func - modifiers: extendedType: identifierType name: identifier "Int" diff --git a/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output b/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output index ba08e662acb2..6e748ceb2467 100644 --- a/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output +++ b/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output @@ -10,6 +10,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Box" genericParameterClause: genericParameterClause @@ -57,7 +58,6 @@ sourceFile leftBrace: { rightBrace: } members: - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/noncopyable-type.output b/unified/extractor/tests/corpus/swift/types/noncopyable-type.output index 0c6bb1fac189..e2f96124a50a 100644 --- a/unified/extractor/tests/corpus/swift/types/noncopyable-type.output +++ b/unified/extractor/tests/corpus/swift/types/noncopyable-type.output @@ -11,6 +11,7 @@ sourceFile item: structDecl attributes: + modifiers: name: identifier "FileHandle" inheritanceClause: inheritanceClause @@ -45,7 +46,6 @@ sourceFile type: identifierType name: identifier "Int" - modifiers: structKeyword: struct --- diff --git a/unified/extractor/tests/corpus/swift/types/property-with-getter-and-setter.output b/unified/extractor/tests/corpus/swift/types/property-with-getter-and-setter.output index b315af33e2b5..e4b3b0cd78b5 100644 --- a/unified/extractor/tests/corpus/swift/types/property-with-getter-and-setter.output +++ b/unified/extractor/tests/corpus/swift/types/property-with-getter-and-setter.output @@ -15,6 +15,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Box" memberBlock: memberBlock @@ -75,6 +76,7 @@ sourceFile declReferenceExpr baseName: identifier "_v" returnKeyword: return + modifiers: accessorDecl accessorSpecifier: set attributes: @@ -95,9 +97,9 @@ sourceFile rightOperand: declReferenceExpr baseName: identifier "newValue" + modifiers: leftBrace: { rightBrace: } - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/protocol-declaration.output b/unified/extractor/tests/corpus/swift/types/protocol-declaration.output index 5f1155e278a8..d54c9b25d2f4 100644 --- a/unified/extractor/tests/corpus/swift/types/protocol-declaration.output +++ b/unified/extractor/tests/corpus/swift/types/protocol-declaration.output @@ -12,6 +12,7 @@ sourceFile item: protocolDecl attributes: + modifiers: name: identifier "Drawable" memberBlock: memberBlock @@ -22,8 +23,8 @@ sourceFile decl: functionDecl attributes: - name: identifier "draw" modifiers: + name: identifier "draw" signature: functionSignature parameterClause: @@ -36,10 +37,10 @@ sourceFile decl: functionDecl attributes: - name: identifier "make" modifiers: declModifier name: static + name: identifier "make" signature: functionSignature parameterClause: @@ -48,7 +49,6 @@ sourceFile rightParen: ) parameters: funcKeyword: func - modifiers: protocolKeyword: protocol --- diff --git a/unified/extractor/tests/corpus/swift/types/protocol-with-read-only-and-read-write-property-requirements.output b/unified/extractor/tests/corpus/swift/types/protocol-with-read-only-and-read-write-property-requirements.output index 07fbf97a94fe..db8a677616f8 100644 --- a/unified/extractor/tests/corpus/swift/types/protocol-with-read-only-and-read-write-property-requirements.output +++ b/unified/extractor/tests/corpus/swift/types/protocol-with-read-only-and-read-write-property-requirements.output @@ -13,6 +13,7 @@ sourceFile item: protocolDecl attributes: + modifiers: name: identifier "P" memberBlock: memberBlock @@ -42,6 +43,7 @@ sourceFile accessorDecl accessorSpecifier: get attributes: + modifiers: leftBrace: { rightBrace: } memberBlockItem @@ -67,9 +69,11 @@ sourceFile accessorDecl accessorSpecifier: get attributes: + modifiers: accessorDecl accessorSpecifier: set attributes: + modifiers: leftBrace: { rightBrace: } memberBlockItem @@ -95,9 +99,9 @@ sourceFile accessorDecl accessorSpecifier: get attributes: + modifiers: leftBrace: { rightBrace: } - modifiers: protocolKeyword: protocol --- diff --git a/unified/extractor/tests/corpus/swift/types/qualified-type.output b/unified/extractor/tests/corpus/swift/types/qualified-type.output index 2d81f4dcbb94..9bf255e35fda 100644 --- a/unified/extractor/tests/corpus/swift/types/qualified-type.output +++ b/unified/extractor/tests/corpus/swift/types/qualified-type.output @@ -27,6 +27,7 @@ sourceFile item: structDecl attributes: + modifiers: name: identifier "Outer" memberBlock: memberBlock @@ -37,6 +38,7 @@ sourceFile decl: structDecl attributes: + modifiers: name: identifier "Inner" memberBlock: memberBlock @@ -47,20 +49,20 @@ sourceFile decl: structDecl attributes: + modifiers: name: identifier "Deep" memberBlock: memberBlock leftBrace: { rightBrace: } members: - modifiers: structKeyword: struct - modifiers: structKeyword: struct memberBlockItem decl: structDecl attributes: + modifiers: name: identifier "Generic" genericParameterClause: genericParameterClause @@ -79,6 +81,7 @@ sourceFile decl: structDecl attributes: + modifiers: name: identifier "Deep" genericParameterClause: genericParameterClause @@ -97,23 +100,20 @@ sourceFile leftBrace: { rightBrace: } members: - modifiers: structKeyword: struct memberBlockItem decl: structDecl attributes: + modifiers: name: identifier "Plain" memberBlock: memberBlock leftBrace: { rightBrace: } members: - modifiers: structKeyword: struct - modifiers: structKeyword: struct - modifiers: structKeyword: struct codeBlockItem item: @@ -170,6 +170,7 @@ sourceFile leftBrace: { rightBrace: } statements: + modifiers: name: identifier "qualifiedTypes" genericParameterClause: genericParameterClause @@ -183,7 +184,6 @@ sourceFile name: identifier "ErrorComponentType" leftAngle: < rightAngle: > - modifiers: signature: functionSignature parameterClause: diff --git a/unified/extractor/tests/corpus/swift/types/static-function.output b/unified/extractor/tests/corpus/swift/types/static-function.output index dc761adb3481..c5ffb34f027e 100644 --- a/unified/extractor/tests/corpus/swift/types/static-function.output +++ b/unified/extractor/tests/corpus/swift/types/static-function.output @@ -11,6 +11,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "Factory" memberBlock: memberBlock @@ -26,10 +27,10 @@ sourceFile leftBrace: { rightBrace: } statements: - name: identifier "make" modifiers: declModifier name: static + name: identifier "make" signature: functionSignature parameterClause: @@ -38,7 +39,6 @@ sourceFile rightParen: ) parameters: funcKeyword: func - modifiers: classKeyword: class --- diff --git a/unified/extractor/tests/corpus/swift/types/struct.output b/unified/extractor/tests/corpus/swift/types/struct.output index d1e99635635a..45c841255d82 100644 --- a/unified/extractor/tests/corpus/swift/types/struct.output +++ b/unified/extractor/tests/corpus/swift/types/struct.output @@ -12,6 +12,7 @@ sourceFile item: structDecl attributes: + modifiers: name: identifier "Point" memberBlock: memberBlock @@ -52,7 +53,6 @@ sourceFile type: identifierType name: identifier "Int" - modifiers: structKeyword: struct --- diff --git a/unified/extractor/tests/corpus/swift/variables/property-with-willset-and-didset-observers.output b/unified/extractor/tests/corpus/swift/variables/property-with-willset-and-didset-observers.output index 6b9a2fad278a..12ddc3af1623 100644 --- a/unified/extractor/tests/corpus/swift/variables/property-with-willset-and-didset-observers.output +++ b/unified/extractor/tests/corpus/swift/variables/property-with-willset-and-didset-observers.output @@ -14,6 +14,7 @@ sourceFile item: classDecl attributes: + modifiers: name: identifier "C" memberBlock: memberBlock @@ -68,6 +69,7 @@ sourceFile calledExpression: declReferenceExpr baseName: identifier "print" + modifiers: accessorDecl accessorSpecifier: didSet attributes: @@ -90,9 +92,9 @@ sourceFile calledExpression: declReferenceExpr baseName: identifier "print" + modifiers: leftBrace: { rightBrace: } - modifiers: classKeyword: class --- diff --git a/unified/swift-syntax-rs/README.md b/unified/swift-syntax-rs/README.md index 32528952071d..587802f73bd1 100644 --- a/unified/swift-syntax-rs/README.md +++ b/unified/swift-syntax-rs/README.md @@ -143,7 +143,7 @@ The build does not depend on any particular version manager. You need: - **Rust** — pinned to `1.88` by the repo-root [`rust-toolchain.toml`](../../rust-toolchain.toml), which `rustup` picks up automatically. - **Swift** — pinned to the version in [`.swift-version`](.swift-version) - (currently `6.3.3`), used to build `swift-syntax` `603.0.2`. Install it any way + (currently `6.3.3`), used to build `swift-syntax` `604.0.0`. Install it any way you like — [swift.org](https://www.swift.org/install/) or [swiftly](https://www.swift.org/swiftly/) (which reads `.swift-version`), or a system package. Just make sure `swift` (and `swiftc`) are on your `PATH` — diff --git a/unified/swift-syntax-rs/schemagen/Package.resolved b/unified/swift-syntax-rs/schemagen/Package.resolved index 71155ffedbc0..9b31241a6e02 100644 --- a/unified/swift-syntax-rs/schemagen/Package.resolved +++ b/unified/swift-syntax-rs/schemagen/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/swiftlang/swift-syntax.git", "state" : { - "revision" : "79e4b74a295b6eb74a8b585e3a39d29e70c1dbd1", - "version" : "603.0.2" + "revision" : "050f1a346fbbac0ca2cfb15a95274f7bd1cf0ccf", + "version" : "604.0.0" } } ], diff --git a/unified/swift-syntax-rs/schemagen/Package.swift b/unified/swift-syntax-rs/schemagen/Package.swift index 7ee5fd143f90..8d7316d1d694 100644 --- a/unified/swift-syntax-rs/schemagen/Package.swift +++ b/unified/swift-syntax-rs/schemagen/Package.swift @@ -13,7 +13,7 @@ import PackageDescription let package = Package( name: "schemagen", platforms: [ - // Matches the FFI package: swift-syntax 603 requires macOS 10.15. + // Matches the FFI package: swift-syntax 604 requires macOS 10.15. .macOS(.v10_15), ], dependencies: [ @@ -21,7 +21,7 @@ let package = Package( // `../swift/Package.swift` and the repository's `MODULE.bazel`. .package( url: "https://github.com/swiftlang/swift-syntax.git", - exact: "603.0.2" + exact: "604.0.0" ), ], targets: [ diff --git a/unified/swift-syntax-rs/swift/Package.resolved b/unified/swift-syntax-rs/swift/Package.resolved index dafd46e961b5..357db158caf6 100644 --- a/unified/swift-syntax-rs/swift/Package.resolved +++ b/unified/swift-syntax-rs/swift/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "169957f8fbd882866f8f9f1c68cde813dca3560577939a8ffec366e3d77548e4", + "originHash" : "cc354a422516b407a489ae3174bf8c758860e35262515ab13a4c5afaee01a3da", "pins" : [ { "identity" : "swift-syntax", "kind" : "remoteSourceControl", "location" : "https://github.com/swiftlang/swift-syntax.git", "state" : { - "revision" : "79e4b74a295b6eb74a8b585e3a39d29e70c1dbd1", - "version" : "603.0.2" + "revision" : "050f1a346fbbac0ca2cfb15a95274f7bd1cf0ccf", + "version" : "604.0.0" } } ], diff --git a/unified/swift-syntax-rs/swift/Package.swift b/unified/swift-syntax-rs/swift/Package.swift index 37fa5a1eed7b..b7a645c95f37 100644 --- a/unified/swift-syntax-rs/swift/Package.swift +++ b/unified/swift-syntax-rs/swift/Package.swift @@ -4,7 +4,7 @@ import PackageDescription let package = Package( name: "SwiftSyntaxFFI", platforms: [ - // swift-syntax 603 requires macOS 10.15; declare it explicitly + // swift-syntax 604 requires macOS 10.15; declare it explicitly // rather than relying on the swift-tools-version default (10.13). .macOS(.v10_15), ], @@ -20,7 +20,7 @@ let package = Package( dependencies: [ .package( url: "https://github.com/swiftlang/swift-syntax.git", - exact: "603.0.2" + exact: "604.0.0" ) ], targets: [