KotlinElementActionsFactory: fix for getting names from dead pointers (EA-116215)
This commit is contained in:
+13
-10
@@ -288,9 +288,10 @@ class KotlinElementActionsFactory : JvmElementActionsFactory() {
|
|||||||
modifierList = modifierBuilder.modifierList,
|
modifierList = modifierBuilder.modifierList,
|
||||||
withBody = true
|
withBody = true
|
||||||
)
|
)
|
||||||
|
val targetClassName = targetClass.name
|
||||||
val addConstructorAction = object : CreateCallableFromUsageFix<KtElement>(targetKtClass, listOf(constructorInfo)) {
|
val addConstructorAction = object : CreateCallableFromUsageFix<KtElement>(targetKtClass, listOf(constructorInfo)) {
|
||||||
override fun getFamilyName() = "Add method"
|
override fun getFamilyName() = "Add method"
|
||||||
override fun getText() = "Add ${if (needPrimary) "primary" else "secondary"} constructor to '${targetClass.name}'"
|
override fun getText() = "Add ${if (needPrimary) "primary" else "secondary"} constructor to '$targetClassName'"
|
||||||
}
|
}
|
||||||
|
|
||||||
val changePrimaryConstructorAction = run {
|
val changePrimaryConstructorAction = run {
|
||||||
@@ -382,19 +383,21 @@ class KotlinElementActionsFactory : JvmElementActionsFactory() {
|
|||||||
val parameterInfos = parameters.map { (suggestedNames, expectedTypes) ->
|
val parameterInfos = parameters.map { (suggestedNames, expectedTypes) ->
|
||||||
ParameterInfo(expectedTypes.toKotlinTypeInfo(resolutionFacade), suggestedNames.names.toList())
|
ParameterInfo(expectedTypes.toKotlinTypeInfo(resolutionFacade), suggestedNames.names.toList())
|
||||||
}
|
}
|
||||||
|
val methodName = request.methodName
|
||||||
val functionInfo = FunctionInfo(
|
val functionInfo = FunctionInfo(
|
||||||
request.methodName,
|
methodName,
|
||||||
TypeInfo.Empty,
|
TypeInfo.Empty,
|
||||||
returnTypeInfo,
|
returnTypeInfo,
|
||||||
listOf(targetContainer),
|
listOf(targetContainer),
|
||||||
parameterInfos,
|
parameterInfos,
|
||||||
isForCompanion = JvmModifier.STATIC in request.modifiers,
|
isForCompanion = JvmModifier.STATIC in request.modifiers,
|
||||||
modifierList = modifierBuilder.modifierList,
|
modifierList = modifierBuilder.modifierList,
|
||||||
preferEmptyBody = true
|
preferEmptyBody = true
|
||||||
)
|
)
|
||||||
|
val targetClassName = targetClass.name
|
||||||
val action = object : CreateCallableFromUsageFix<KtElement>(targetContainer, listOf(functionInfo)) {
|
val action = object : CreateCallableFromUsageFix<KtElement>(targetContainer, listOf(functionInfo)) {
|
||||||
override fun getFamilyName() = "Add method"
|
override fun getFamilyName() = "Add method"
|
||||||
override fun getText() = "Add method '${request.methodName}' to '${targetClass.name}'"
|
override fun getText() = "Add method '$methodName' to '$targetClassName'"
|
||||||
}
|
}
|
||||||
return listOf(action)
|
return listOf(action)
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-10
@@ -279,9 +279,10 @@ class KotlinElementActionsFactory : JvmElementActionsFactory() {
|
|||||||
modifierList = modifierBuilder.modifierList,
|
modifierList = modifierBuilder.modifierList,
|
||||||
withBody = true
|
withBody = true
|
||||||
)
|
)
|
||||||
|
val targetClassName = targetClass.name
|
||||||
val addConstructorAction = object : CreateCallableFromUsageFix<KtElement>(targetKtClass, listOf(constructorInfo)) {
|
val addConstructorAction = object : CreateCallableFromUsageFix<KtElement>(targetKtClass, listOf(constructorInfo)) {
|
||||||
override fun getFamilyName() = "Add method"
|
override fun getFamilyName() = "Add method"
|
||||||
override fun getText() = "Add ${if (needPrimary) "primary" else "secondary"} constructor to '${targetClass.name}'"
|
override fun getText() = "Add ${if (needPrimary) "primary" else "secondary"} constructor to '$targetClassName'"
|
||||||
}
|
}
|
||||||
|
|
||||||
val changePrimaryConstructorAction = run {
|
val changePrimaryConstructorAction = run {
|
||||||
@@ -372,19 +373,21 @@ class KotlinElementActionsFactory : JvmElementActionsFactory() {
|
|||||||
val parameterInfos = request.parameters.map { (suggestedNames, expectedTypes) ->
|
val parameterInfos = request.parameters.map { (suggestedNames, expectedTypes) ->
|
||||||
ParameterInfo(expectedTypes.toKotlinTypeInfo(resolutionFacade), suggestedNames.names.toList())
|
ParameterInfo(expectedTypes.toKotlinTypeInfo(resolutionFacade), suggestedNames.names.toList())
|
||||||
}
|
}
|
||||||
|
val methodName = request.methodName
|
||||||
val functionInfo = FunctionInfo(
|
val functionInfo = FunctionInfo(
|
||||||
request.methodName,
|
methodName,
|
||||||
TypeInfo.Empty,
|
TypeInfo.Empty,
|
||||||
returnTypeInfo,
|
returnTypeInfo,
|
||||||
listOf(targetContainer),
|
listOf(targetContainer),
|
||||||
parameterInfos,
|
parameterInfos,
|
||||||
isForCompanion = JvmModifier.STATIC in request.modifiers,
|
isForCompanion = JvmModifier.STATIC in request.modifiers,
|
||||||
modifierList = modifierBuilder.modifierList,
|
modifierList = modifierBuilder.modifierList,
|
||||||
preferEmptyBody = true
|
preferEmptyBody = true
|
||||||
)
|
)
|
||||||
|
val targetClassName = targetClass.name
|
||||||
val action = object : CreateCallableFromUsageFix<KtElement>(targetContainer, listOf(functionInfo)) {
|
val action = object : CreateCallableFromUsageFix<KtElement>(targetContainer, listOf(functionInfo)) {
|
||||||
override fun getFamilyName() = "Add method"
|
override fun getFamilyName() = "Add method"
|
||||||
override fun getText() = "Add method '${request.methodName}' to '${targetClass.name}'"
|
override fun getText() = "Add method '$methodName' to '$targetClassName'"
|
||||||
}
|
}
|
||||||
return listOf(action)
|
return listOf(action)
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-10
@@ -295,9 +295,10 @@ class KotlinElementActionsFactory : JvmElementActionsFactory() {
|
|||||||
modifierList = modifierBuilder.modifierList,
|
modifierList = modifierBuilder.modifierList,
|
||||||
withBody = true
|
withBody = true
|
||||||
)
|
)
|
||||||
|
val targetClassName = targetClass.name
|
||||||
val addConstructorAction = object : CreateCallableFromUsageFix<KtElement>(targetKtClass, listOf(constructorInfo)) {
|
val addConstructorAction = object : CreateCallableFromUsageFix<KtElement>(targetKtClass, listOf(constructorInfo)) {
|
||||||
override fun getFamilyName() = "Add method"
|
override fun getFamilyName() = "Add method"
|
||||||
override fun getText() = "Add ${if (needPrimary) "primary" else "secondary"} constructor to '${targetClass.name}'"
|
override fun getText() = "Add ${if (needPrimary) "primary" else "secondary"} constructor to '$targetClassName'"
|
||||||
}
|
}
|
||||||
|
|
||||||
val changePrimaryConstructorAction = run {
|
val changePrimaryConstructorAction = run {
|
||||||
@@ -394,19 +395,21 @@ class KotlinElementActionsFactory : JvmElementActionsFactory() {
|
|||||||
val parameterInfos = parameters.map { (suggestedNames, expectedTypes) ->
|
val parameterInfos = parameters.map { (suggestedNames, expectedTypes) ->
|
||||||
ParameterInfo(expectedTypes.toKotlinTypeInfo(resolutionFacade), suggestedNames.names.toList())
|
ParameterInfo(expectedTypes.toKotlinTypeInfo(resolutionFacade), suggestedNames.names.toList())
|
||||||
}
|
}
|
||||||
|
val methodName = request.methodName
|
||||||
val functionInfo = FunctionInfo(
|
val functionInfo = FunctionInfo(
|
||||||
request.methodName,
|
methodName,
|
||||||
TypeInfo.Empty,
|
TypeInfo.Empty,
|
||||||
returnTypeInfo,
|
returnTypeInfo,
|
||||||
listOf(targetContainer),
|
listOf(targetContainer),
|
||||||
parameterInfos,
|
parameterInfos,
|
||||||
isForCompanion = JvmModifier.STATIC in request.modifiers,
|
isForCompanion = JvmModifier.STATIC in request.modifiers,
|
||||||
modifierList = modifierBuilder.modifierList,
|
modifierList = modifierBuilder.modifierList,
|
||||||
preferEmptyBody = true
|
preferEmptyBody = true
|
||||||
)
|
)
|
||||||
|
val targetClassName = targetClass.name
|
||||||
val action = object : CreateCallableFromUsageFix<KtElement>(targetContainer, listOf(functionInfo)) {
|
val action = object : CreateCallableFromUsageFix<KtElement>(targetContainer, listOf(functionInfo)) {
|
||||||
override fun getFamilyName() = "Add method"
|
override fun getFamilyName() = "Add method"
|
||||||
override fun getText() = "Add method '${request.methodName}' to '${targetClass.name}'"
|
override fun getText() = "Add method '$methodName' to '$targetClassName'"
|
||||||
}
|
}
|
||||||
return listOf(action)
|
return listOf(action)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user