in src/main/kotlin/org/arend/refactoring/changeSignature/ArendChangeSignatureUtils.kt [294:313]
fun textGetterForPatterns(exprData: PsiElement, preferStrippedVersion: Boolean): String {
val replacementTextEntry = refactoringContext.textReplacements[exprData]
if (replacementTextEntry != null) {
if (!preferStrippedVersion && exprData is ArendPattern && !exprData.isExplicit) return "{$replacementTextEntry}"
return replacementTextEntry
}
if (exprData.firstChild == null) return exprData.text
val childRange = if (exprData is ArendPattern && !exprData.isExplicit) {
val lbrace = exprData.childrenWithLeaves.indexOfFirst { it.elementType == LBRACE }
val rbrace = exprData.childrenWithLeaves.indexOfFirst { it.elementType == RBRACE }
if (lbrace == -1 || rbrace == -1 || lbrace - 1 > rbrace)
exprData.childrenWithLeaves.toList() else
exprData.childrenWithLeaves.toList().subList(lbrace + 1, rbrace)
} else exprData.childrenWithLeaves.toList()
return buildString {
for (c in childRange)
append(textGetterForPatterns(c, false))
}
}