Skip to content

Perform a couple of renames on differentiability attribute nodes #1954

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 22 additions & 17 deletions CodeGeneration/Sources/SyntaxSupport/AttributeNodes.swift
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ public let ATTRIBUTE_NODES: [Node] = [
isOptional: true
),
Child(
name: "Parameters",
name: "Arguments",
deprecatedName: "DiffParams",
kind: .node(kind: .differentiabilityWithRespectToArgument),
isOptional: true
Expand All @@ -382,7 +382,7 @@ public let ATTRIBUTE_NODES: [Node] = [
// differentiability-param-list ->
// differentiability-param differentiability-param-list?
Node(
kind: .differentiabilityParameterList,
kind: .differentiabilityArgumentList,
base: .syntaxCollection,
nameForDiagnostics: "differentiability parameters",
elementChoices: [.differentiabilityArgument]
Expand All @@ -392,14 +392,15 @@ public let ATTRIBUTE_NODES: [Node] = [
Node(
kind: .differentiabilityArgument,
base: .syntax,
nameForDiagnostics: "differentiability parameter",
documentation: "A differentiability parameter: either the \"self\" identifier, a function parameter name, or a function parameter index.",
nameForDiagnostics: "differentiability argument",
documentation: "A differentiability argument: either the \"self\" identifier, a function parameter name, or a function parameter index.",
traits: [
"WithTrailingComma"
],
children: [
Child(
name: "Parameter",
name: "Argument",
deprecatedName: "Parameter",
kind: .token(choices: [.token(tokenKind: "IdentifierToken"), .token(tokenKind: "IntegerLiteralToken"), .keyword(text: "self")])
),
Child(
Expand Down Expand Up @@ -429,18 +430,21 @@ public let ATTRIBUTE_NODES: [Node] = [
documentation: "The colon separating \"wrt\" and the parameter list."
),
Child(
name: "Parameters",
name: "Arguments",
deprecatedName: "Parameters",
kind: .nodeChoices(choices: [
Child(
name: "Parameter",
name: "Argument",
deprecatedName: "Parameter",
kind: .node(kind: .differentiabilityArgument)
),
Child(
name: "ParameterList",
name: "ArgumentList",
deprecatedName: "ParameterList",
kind: .node(kind: .differentiabilityArguments)
),
]),
nameForDiagnostics: "parameters"
nameForDiagnostics: "arguments"
),
]
),
Expand All @@ -449,16 +453,17 @@ public let ATTRIBUTE_NODES: [Node] = [
Node(
kind: .differentiabilityArguments,
base: .syntax,
nameForDiagnostics: "differentiability parameters",
documentation: "The differentiability parameters.",
nameForDiagnostics: "differentiability arguments",
documentation: "The differentiability arguments.",
children: [
Child(
name: "LeftParen",
kind: .token(choices: [.token(tokenKind: "LeftParenToken")])
),
Child(
name: "DifferentiabilityParameters",
kind: .collection(kind: .differentiabilityParameterList, collectionElementName: "DifferentiabilityParam"),
name: "Arguments",
deprecatedName: "DifferentiabilityParameters",
kind: .collection(kind: .differentiabilityArgumentList, collectionElementName: "Argument"),
documentation: "The parameters for differentiation."
),
Child(
Expand Down Expand Up @@ -493,16 +498,16 @@ public let ATTRIBUTE_NODES: [Node] = [
isOptional: true
),
Child(
name: "Parameters",
name: "Arguments",
deprecatedName: "DiffParams",
kind: .node(kind: .differentiabilityWithRespectToArgument),
isOptional: true
),
Child(
name: "ParametersComma",
name: "ArgumentsComma",
deprecatedName: "DiffParamsComma",
kind: .token(choices: [.token(tokenKind: "CommaToken")]),
documentation: "The comma following the differentiability parameters clause, if it exists.",
documentation: "The comma following the differentiability arguments clause, if it exists.",
isOptional: true
),
Child(
Expand Down Expand Up @@ -595,7 +600,7 @@ public let ATTRIBUTE_NODES: [Node] = [
kind: .effectsAttributeArgumentList,
base: .syntaxCollection,
nameForDiagnostics: "@_effects arguments",
documentation: "The arguments of the '@_effect' attribute. These will be parsed during the SIL stage.",
documentation: "The arguments of the '@_effects' attribute. These will be parsed during the SIL stage.",
elementChoices: [.token]
),

Expand Down
4 changes: 2 additions & 2 deletions CodeGeneration/Sources/SyntaxSupport/SyntaxNodeKind.swift
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public enum SyntaxNodeKind: String, CaseIterable {
case dictionaryType
case differentiabilityArgument
case differentiabilityArguments
case differentiabilityParameterList
case differentiabilityArgumentList
case differentiabilityWithRespectToArgument
case differentiableAttributeArguments
case discardAssignmentExpr
Expand Down Expand Up @@ -392,7 +392,7 @@ public enum SyntaxNodeKind: String, CaseIterable {
case .designatedType: return "designatedTypeElement"
case .differentiabilityArgument: return "differentiabilityParam"
case .differentiabilityArguments: return "differentiabilityParams"
case .differentiabilityParameterList: return "differentiabilityParamList"
case .differentiabilityArgumentList: return "differentiabilityParamList"
case .differentiabilityWithRespectToArgument: return "differentiabilityParamsClause"
case .documentationAttributeArgumentList: return "documentationAttributeArguments"
case .dynamicReplacementAttributeArguments: return "dynamicReplacementArguments"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ class ValidateSyntaxNodes: XCTestCase {
),
ValidationFailure(
node: .differentiableAttributeArguments,
message: "child 'ParametersComma' has a comma keyword as its only token choice and should thus be named 'Comma' or 'TrailingComma'"
message: "child 'ArgumentsComma' has a comma keyword as its only token choice and should thus be named 'Comma' or 'TrailingComma'"
),
ValidationFailure(
node: .poundSourceLocationArguments,
Expand Down
44 changes: 22 additions & 22 deletions Sources/SwiftParser/Attributes.swift
Original file line number Diff line number Diff line change
Expand Up @@ -402,14 +402,14 @@ extension Parser {
kindSpecifierComma = nil
}

let parameters: RawDifferentiabilityWithRespectToArgumentSyntax?
let parametersComma: RawTokenSyntax?
let arguments: RawDifferentiabilityWithRespectToArgumentSyntax?
let argumentsComma: RawTokenSyntax?
if self.at(.keyword(.wrt)) {
parameters = self.parseDifferentiabilityWithRespectToArgument()
parametersComma = self.consume(if: .comma)
arguments = self.parseDifferentiabilityWithRespectToArgument()
argumentsComma = self.consume(if: .comma)
} else {
parameters = nil
parametersComma = nil
arguments = nil
argumentsComma = nil
}

let whereClause: RawGenericWhereClauseSyntax?
Expand All @@ -421,8 +421,8 @@ extension Parser {
return RawDifferentiableAttributeArgumentsSyntax(
kindSpecifier: kindSpecifier,
kindSpecifierComma: kindSpecifierComma,
parameters: parameters,
parametersComma: parametersComma,
arguments: arguments,
argumentsComma: argumentsComma,
genericWhereClause: whereClause,
arena: self.arena
)
Expand All @@ -434,10 +434,10 @@ extension Parser {

guard let leftParen = self.consume(if: .leftParen) else {
// If no opening '(' for parameter list, parse a single parameter.
let param =
let argument =
self.parseDifferentiabilityArgument()
?? RawDifferentiabilityArgumentSyntax(
parameter: missingToken(.identifier),
argument: missingToken(.identifier),
trailingComma: nil,
arena: self.arena
)
Expand All @@ -446,7 +446,7 @@ extension Parser {
wrtLabel: wrt,
unexpectedBeforeColon,
colon: colon,
parameters: .parameter(param),
arguments: .argument(argument),
arena: self.arena
)
}
Expand All @@ -461,10 +461,10 @@ extension Parser {
}
let (unexpectedBeforeRightParen, rightParen) = self.expect(.rightParen)

let parameters = RawDifferentiabilityParameterListSyntax(elements: elements, arena: self.arena)
let arguments = RawDifferentiabilityArgumentListSyntax(elements: elements, arena: self.arena)
let list = RawDifferentiabilityArgumentsSyntax(
leftParen: leftParen,
differentiabilityParameters: parameters,
arguments: arguments,
unexpectedBeforeRightParen,
rightParen: rightParen,
arena: self.arena
Expand All @@ -473,34 +473,34 @@ extension Parser {
wrtLabel: wrt,
unexpectedBeforeColon,
colon: colon,
parameters: .parameterList(list),
arguments: .argumentList(list),
arena: self.arena
)
}

mutating func parseDifferentiabilityArgument() -> RawDifferentiabilityArgumentSyntax? {
switch self.at(anyIn: DifferentiabilityArgumentSyntax.ParameterOptions.self) {
switch self.at(anyIn: DifferentiabilityArgumentSyntax.ArgumentOptions.self) {
case (.identifier, let handle)?:
let token = self.eat(handle)
let comma = self.consume(if: .comma)
return RawDifferentiabilityArgumentSyntax(
parameter: token,
argument: token,
trailingComma: comma,
arena: self.arena
)
case (.integerLiteral, let handle)?:
let token = self.eat(handle)
let comma = self.consume(if: .comma)
return RawDifferentiabilityArgumentSyntax(
parameter: token,
argument: token,
trailingComma: comma,
arena: self.arena
)
case (.self, let handle)?:
let token = self.eat(handle)
let comma = self.consume(if: .comma)
return RawDifferentiabilityArgumentSyntax(
parameter: token,
argument: token,
trailingComma: comma,
arena: self.arena
)
Expand Down Expand Up @@ -568,11 +568,11 @@ extension Parser {
(unexpectedBeforeAccessor, accessor) = (nil, nil)
}
let comma = self.consume(if: .comma)
let parameters: RawDifferentiabilityWithRespectToArgumentSyntax?
let arguments: RawDifferentiabilityWithRespectToArgumentSyntax?
if comma != nil {
parameters = self.parseDifferentiabilityWithRespectToArgument()
arguments = self.parseDifferentiabilityWithRespectToArgument()
} else {
parameters = nil
arguments = nil
}
return RawDerivativeAttributeArgumentsSyntax(
unexpectedBeforeOfLabel,
Expand All @@ -584,7 +584,7 @@ extension Parser {
unexpectedBeforeAccessor,
accessorSpecifier: accessor,
comma: comma,
parameters: parameters,
arguments: arguments,
arena: self.arena
)
}
Expand Down
2 changes: 1 addition & 1 deletion Sources/SwiftParser/generated/Parser+TokenSpecSet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ extension DerivativeAttributeArgumentsSyntax {
}

extension DifferentiabilityArgumentSyntax {
enum ParameterOptions: TokenSpecSet {
enum ArgumentOptions: TokenSpecSet {
case identifier
case integerLiteral
case `self`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ private func childNameForDiagnostics(_ keyPath: AnyKeyPath) -> String? {
return "key type"
case \DictionaryTypeSyntax.value:
return "value type"
case \DifferentiabilityWithRespectToArgumentSyntax.parameters:
return "parameters"
case \DifferentiabilityWithRespectToArgumentSyntax.arguments:
return "arguments"
case \DoStmtSyntax.body:
return "body"
case \DocumentationAttributeArgumentSyntax.label:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,12 @@ extension SyntaxKind {
return "dictionary"
case .dictionaryType:
return "dictionary type"
case .differentiabilityArgumentList:
return "differentiability parameters"
case .differentiabilityArgument:
return "differentiability parameter"
return "differentiability argument"
case .differentiabilityArguments:
return "differentiability parameters"
case .differentiabilityParameterList:
return "differentiability parameters"
return "differentiability arguments"
case .differentiabilityWithRespectToArgument:
return "'@differentiable' argument"
case .differentiableAttributeArguments:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ These articles are intended for developers wishing to contribute to SwiftSyntax
- <doc:SwiftSyntax/DesignatedTypeSyntax>
- <doc:SwiftSyntax/DictionaryElementListSyntax>
- <doc:SwiftSyntax/DictionaryElementSyntax>
- <doc:SwiftSyntax/DifferentiabilityParameterListSyntax>
- <doc:SwiftSyntax/DifferentiabilityArgumentListSyntax>
- <doc:SwiftSyntax/DifferentiabilityArgumentSyntax>
- <doc:SwiftSyntax/DocumentationAttributeArgumentListSyntax>
- <doc:SwiftSyntax/DocumentationAttributeArgumentSyntax>
Expand Down
Loading