@@ -135,7 +135,8 @@ 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) ,
138+ guard let placeholder = token. parent? . as ( DeclReferenceExprSyntax . self) ,
139+ placeholder. baseName. isEditorPlaceholder,
139140 let arg = placeholder. parent? . as ( LabeledExprSyntax . self) ,
140141 let argList = arg. parent? . as ( LabeledExprListSyntax . self) ,
141142 let call = argList. parent? . as ( FunctionCallExprSyntax . self)
@@ -190,8 +191,8 @@ extension FunctionTypeSyntax {
190191 placeholder = ExpandEditorPlaceholder . wrapInTypePlaceholder ( ret, type: ret)
191192 }
192193
193- let statementPlaceholder = EditorPlaceholderExprSyntax (
194- placeholder : . identifier( placeholder)
194+ let statementPlaceholder = DeclReferenceExprSyntax (
195+ baseName : . identifier( placeholder)
195196 )
196197 let closureStatement = CodeBlockItemSyntax (
197198 item: . expr( ExprSyntax ( statementPlaceholder) )
@@ -234,8 +235,9 @@ extension FunctionCallExprSyntax {
234235 var includedArg = false
235236 var argsToExpand = 0
236237 for arg in arguments. reversed ( ) {
237- guard let expr = arg. expression. as ( EditorPlaceholderExprSyntax . self) ,
238- let data = EditorPlaceholderData ( token: expr. placeholder) ,
238+ guard let expr = arg. expression. as ( DeclReferenceExprSyntax . self) ,
239+ expr. baseName. isEditorPlaceholder,
240+ let data = EditorPlaceholderData ( token: expr. baseName) ,
239241 case let . typed( _, type) = data,
240242 type. is ( FunctionTypeSyntax . self)
241243 else {
@@ -253,7 +255,7 @@ extension FunctionCallExprSyntax {
253255
254256 var expandedArgs = [ LabeledExprSyntax] ( )
255257 for arg in arguments. suffix ( argsToExpand) {
256- let edits = ExpandEditorPlaceholder . textRefactor ( syntax: arg. expression. cast ( EditorPlaceholderExprSyntax . self) . placeholder )
258+ let edits = ExpandEditorPlaceholder . textRefactor ( syntax: arg. expression. cast ( DeclReferenceExprSyntax . self) . baseName )
257259 guard edits. count == 1 , let edit = edits. first, !edit. replacement. isEmpty else {
258260 return nil
259261 }
0 commit comments