@@ -135,8 +135,7 @@ public struct ExpandEditorPlaceholder: EditRefactoringProvider {
135135/// Expansion on `closure1` and `normalArg` is the same as `ExpandEditorPlaceholder`.
136136public struct ExpandEditorPlaceholders : EditRefactoringProvider {
137137 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) ,
140139 let argList = arg. parent? . as ( LabeledExprListSyntax . self) ,
141140 let call = argList. parent? . as ( FunctionCallExprSyntax . self)
142141 else {
@@ -190,8 +189,8 @@ extension FunctionTypeSyntax {
190189 placeholder = ExpandEditorPlaceholder . wrapInTypePlaceholder ( ret, type: ret)
191190 }
192191
193- let statementPlaceholder = EditorPlaceholderExprSyntax (
194- placeholder : . identifier( placeholder)
192+ let statementPlaceholder = DeclReferenceExprSyntax (
193+ baseName : . identifier( placeholder)
195194 )
196195 let closureStatement = CodeBlockItemSyntax (
197196 item: . expr( ExprSyntax ( statementPlaceholder) )
@@ -234,8 +233,9 @@ extension FunctionCallExprSyntax {
234233 var includedArg = false
235234 var argsToExpand = 0
236235 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) ,
239239 case let . typed( _, type) = data,
240240 type. is ( FunctionTypeSyntax . self)
241241 else {
@@ -253,7 +253,7 @@ extension FunctionCallExprSyntax {
253253
254254 var expandedArgs = [ LabeledExprSyntax] ( )
255255 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 )
257257 guard edits. count == 1 , let edit = edits. first, !edit. replacement. isEmpty else {
258258 return nil
259259 }
0 commit comments