@@ -135,8 +135,7 @@ public struct ExpandEditorPlaceholder: EditRefactoringProvider {
135
135
/// Expansion on `closure1` and `normalArg` is the same as `ExpandEditorPlaceholder`.
136
136
public struct ExpandEditorPlaceholders : EditRefactoringProvider {
137
137
public static func textRefactor( syntax token: TokenSyntax , in context: Void ) -> [ SourceEdit ] {
138
- guard let placeholder = token. parent? . as ( EditorPlaceholderExprSyntax . self) ,
139
- let arg = placeholder. parent? . as ( LabeledExprSyntax . self) ,
138
+ guard let arg = token. parent? . as ( LabeledExprSyntax . self) ,
140
139
let argList = arg. parent? . as ( LabeledExprListSyntax . self) ,
141
140
let call = argList. parent? . as ( FunctionCallExprSyntax . self)
142
141
else {
@@ -190,8 +189,8 @@ extension FunctionTypeSyntax {
190
189
placeholder = ExpandEditorPlaceholder . wrapInTypePlaceholder ( ret, type: ret)
191
190
}
192
191
193
- let statementPlaceholder = EditorPlaceholderExprSyntax (
194
- placeholder : . identifier( placeholder)
192
+ let statementPlaceholder = DeclReferenceExprSyntax (
193
+ baseName : . identifier( placeholder)
195
194
)
196
195
let closureStatement = CodeBlockItemSyntax (
197
196
item: . expr( ExprSyntax ( statementPlaceholder) )
@@ -234,8 +233,9 @@ extension FunctionCallExprSyntax {
234
233
var includedArg = false
235
234
var argsToExpand = 0
236
235
for arg in arguments. reversed ( ) {
237
- guard let expr = arg. expression. as ( EditorPlaceholderExprSyntax . self) ,
238
- let data = EditorPlaceholderData ( token: expr. placeholder) ,
236
+ guard let expr = arg. expression. as ( DeclReferenceExprSyntax . self) ,
237
+ expr. baseName. isEditorPlaceholder,
238
+ let data = EditorPlaceholderData ( token: expr. baseName) ,
239
239
case let . typed( _, type) = data,
240
240
type. is ( FunctionTypeSyntax . self)
241
241
else {
@@ -253,7 +253,7 @@ extension FunctionCallExprSyntax {
253
253
254
254
var expandedArgs = [ LabeledExprSyntax] ( )
255
255
for arg in arguments. suffix ( argsToExpand) {
256
- let edits = ExpandEditorPlaceholder . textRefactor ( syntax: arg. expression. cast ( EditorPlaceholderExprSyntax . self) . placeholder )
256
+ let edits = ExpandEditorPlaceholder . textRefactor ( syntax: arg. expression. cast ( DeclReferenceExprSyntax . self) . baseName )
257
257
guard edits. count == 1 , let edit = edits. first, !edit. replacement. isEmpty else {
258
258
return nil
259
259
}
0 commit comments