override fun performRefactoring()

in gdscript/src/main/kotlin/gdscript/refactoring/inline/GdInlineVariableProcessor.kt [52:82]


    override fun performRefactoring(usages: Array<out UsageInfo>) {
        val parent = element.parent
        val replacementExpr: GdExpr = when (parent) {
            is GdVarDeclSt -> parent.expr
            is GdClassVarDeclTl -> parent.expr
            is GdConstDeclSt -> parent.expr
            is GdConstDeclTl -> parent.expr
            else -> null
        } ?: return

        if (inlineThisOnly) {
            this.initializer?.replace(replacementExpr)
        } else {
            usages.forEach {
                val element = it.element ?: return@forEach
                try {
                    element.replace(replacementExpr)
                } catch (e: IncorrectOperationException) {
                    LOG.error(e)
                }
            }
        }

        if (!inlineThisOnly && removeDeclaration) {
            try {
                parent.delete()
            } catch (e: IncorrectOperationException) {
                LOG.error(e)
            }
        }
    }