Skip to content

Commit 07e5f88

Browse files
committed
Merge branch '2022.3' into 2023.1
# Conflicts: # src/main/kotlin/util/code-gen.kt
2 parents 6a04b37 + 09aa901 commit 07e5f88

18 files changed

+32
-166
lines changed

src/main/kotlin/platform/bukkit/BukkitModule.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class BukkitModule<out T : AbstractModuleType<*>>(facet: MinecraftFacet, type: T
9292
chosenClass: PsiClass,
9393
chosenName: String,
9494
data: GenerationData?,
95-
): PsiMethod? {
95+
): PsiMethod {
9696
val bukkitData = data as BukkitGenerationData
9797

9898
val method = generateBukkitStyleEventListenerMethod(
@@ -101,7 +101,7 @@ class BukkitModule<out T : AbstractModuleType<*>>(facet: MinecraftFacet, type: T
101101
project,
102102
BukkitConstants.HANDLER_ANNOTATION,
103103
bukkitData.isIgnoreCanceled,
104-
) ?: return null
104+
)
105105

106106
if (bukkitData.eventPriority != "NORMAL") {
107107
val list = method.modifierList
@@ -217,8 +217,8 @@ class BukkitModule<out T : AbstractModuleType<*>>(facet: MinecraftFacet, type: T
217217
project: Project,
218218
annotationName: String,
219219
setIgnoreCancelled: Boolean,
220-
): PsiMethod? {
221-
val newMethod = createVoidMethodWithParameterType(project, chosenName, chosenClass) ?: return null
220+
): PsiMethod {
221+
val newMethod = createVoidMethodWithParameterType(project, chosenName, chosenClass)
222222
val modifierList = newMethod.modifierList
223223
val annotation = modifierList.addAnnotation(annotationName)
224224

src/main/kotlin/platform/forge/ForgeModule.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ class ForgeModule internal constructor(facet: MinecraftFacet) : AbstractModule(f
163163
chosenClass: PsiClass,
164164
chosenName: String,
165165
data: GenerationData?,
166-
): PsiMethod? {
166+
): PsiMethod {
167167
val isFmlEvent = chosenClass.extendsOrImplements(ForgeConstants.FML_EVENT)
168168

169-
val method = createVoidMethodWithParameterType(project, chosenName, chosenClass) ?: return null
169+
val method = createVoidMethodWithParameterType(project, chosenName, chosenClass)
170170
val modifierList = method.modifierList
171171

172172
if (isFmlEvent) {

src/main/kotlin/platform/mcp/inspections/EntityConstructorInspection.kt

Lines changed: 0 additions & 99 deletions
This file was deleted.

src/main/kotlin/platform/mcp/inspections/StackEmptyInspection.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import com.intellij.openapi.project.Project
3232
import com.intellij.psi.JavaPsiFacade
3333
import com.intellij.psi.JavaTokenType
3434
import com.intellij.psi.PsiBinaryExpression
35-
import com.intellij.psi.PsiClassType
3635
import com.intellij.psi.PsiExpression
3736
import com.intellij.psi.PsiField
3837
import com.intellij.psi.PsiReferenceExpression
@@ -118,7 +117,7 @@ class StackEmptyInspection : BaseInspection() {
118117
}
119118

120119
private fun isExpressionStack(expression: PsiExpression?): Boolean {
121-
return (expression?.type as? PsiClassType)?.resolve()?.fullQualifiedName == STACK_FQ_NAME
120+
return expression?.type?.equalsToText(STACK_FQ_NAME) == true
122121
}
123122

124123
private fun isExpressionEmptyConstant(expression: PsiExpression?): Boolean {

src/main/kotlin/platform/mixin/config/inspection/ConfigValueInspection.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import com.intellij.psi.CommonClassNames.JAVA_LANG_INTEGER
4040
import com.intellij.psi.CommonClassNames.JAVA_LANG_LONG
4141
import com.intellij.psi.CommonClassNames.JAVA_LANG_SHORT
4242
import com.intellij.psi.CommonClassNames.JAVA_LANG_STRING
43-
import com.intellij.psi.CommonClassNames.JAVA_LANG_STRING_SHORT
4443
import com.intellij.psi.PsiArrayType
4544
import com.intellij.psi.PsiClassType
4645
import com.intellij.psi.PsiElementVisitor
@@ -97,27 +96,23 @@ class ConfigValueInspection : MixinConfigInspection() {
9796
return true // Idk, it's fine I guess
9897
}
9998

100-
if (type.className == JAVA_LANG_STRING_SHORT && type.resolve()?.qualifiedName == JAVA_LANG_STRING) {
99+
if (type.equalsToText(JAVA_LANG_STRING)) {
101100
return value is JsonStringLiteral
102101
}
103102

104-
if (type.className == "Boolean" && type.resolve()?.qualifiedName == CommonClassNames.JAVA_LANG_BOOLEAN) {
103+
if (type.equalsToText(CommonClassNames.JAVA_LANG_BOOLEAN)) {
105104
return value is JsonBooleanLiteral || value is JsonNullLiteral
106105
}
107106

108-
if (
109-
shortNumberNames.contains(type.className) &&
110-
qualifiedNumberNames.contains(type.resolve()?.qualifiedName)
111-
) {
107+
if (qualifiedNumberNames.any(type::equalsToText)) {
112108
return value is JsonNumberLiteral || value is JsonNullLiteral
113109
}
114110

115111
PsiUtil.extractIterableTypeParameter(type, true)?.let { return checkArray(it, value) }
116112
return value is JsonObject
117113
}
118114

119-
private val shortNumberNames = setOf("Byte", "Character", "Double", "Float", "Integer", "Long", "Short")
120-
private val qualifiedNumberNames = setOf(
115+
private val qualifiedNumberNames = listOf(
121116
JAVA_LANG_BYTE,
122117
JAVA_LANG_CHARACTER,
123118
JAVA_LANG_DOUBLE,

src/main/kotlin/platform/mixin/folding/MixinObjectCastFoldingBuilder.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import com.intellij.openapi.editor.Document
2828
import com.intellij.openapi.util.TextRange
2929
import com.intellij.psi.CommonClassNames
3030
import com.intellij.psi.JavaRecursiveElementWalkingVisitor
31-
import com.intellij.psi.PsiClassType
3231
import com.intellij.psi.PsiElement
3332
import com.intellij.psi.PsiJavaFile
3433
import com.intellij.psi.PsiTypeCastExpression
@@ -74,7 +73,7 @@ class MixinObjectCastFoldingBuilder : CustomFoldingBuilder() {
7473
}
7574

7675
val innerCast = expression.operand as? PsiTypeCastExpression ?: return
77-
if ((innerCast.type as? PsiClassType)?.resolve()?.qualifiedName == CommonClassNames.JAVA_LANG_OBJECT) {
76+
if (innerCast.type?.equalsToText(CommonClassNames.JAVA_LANG_OBJECT) == true) {
7877
// Fold the two casts
7978

8079
val start = (expression as? CompositeElement)?.findChildByRole(ChildRole.LPARENTH) ?: return

src/main/kotlin/platform/mixin/handlers/InvokerHandler.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ import com.demonwav.mcdev.util.constantStringValue
3030
import com.demonwav.mcdev.util.decapitalize
3131
import com.demonwav.mcdev.util.descriptor
3232
import com.demonwav.mcdev.util.findAnnotation
33-
import com.demonwav.mcdev.util.fullQualifiedName
3433
import com.intellij.psi.PsiAnnotation
35-
import com.intellij.psi.PsiClassType
3634
import com.intellij.psi.PsiMember
3735
import com.intellij.psi.PsiMethod
3836
import com.intellij.psi.SmartPsiElementPointer
@@ -55,7 +53,7 @@ class InvokerHandler : MixinMemberAnnotationHandler {
5553
val name = getInvokerTargetName(annotation, member) ?: return emptyList()
5654
val constructor = name == "<init>"
5755
if (constructor &&
58-
(member.returnType as? PsiClassType)?.resolve()?.fullQualifiedName?.replace('.', '/') != targetClass.name
56+
member.returnType?.equalsToText(targetClass.name.replace('/', '.').replace('$', '.')) != true
5957
) {
6058
return emptyList()
6159
}

src/main/kotlin/platform/mixin/inspection/MixinCancellableInspection.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ package com.demonwav.mcdev.platform.mixin.inspection
2323
import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Annotations.INJECT
2424
import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Classes.CALLBACK_INFO
2525
import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Classes.CALLBACK_INFO_RETURNABLE
26-
import com.demonwav.mcdev.util.fullQualifiedName
2726
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement
2827
import com.intellij.codeInspection.ProblemHighlightType
2928
import com.intellij.codeInspection.ProblemsHolder
@@ -58,8 +57,7 @@ class MixinCancellableInspection : MixinInspection() {
5857
val isCancellable = cancellableAttribute.value == true
5958

6059
val ciParam = method.parameterList.parameters.firstOrNull {
61-
val className = (it.type as? PsiClassType)?.fullQualifiedName ?: return@firstOrNull false
62-
className == CALLBACK_INFO || className == CALLBACK_INFO_RETURNABLE
60+
it.type.equalsToText(CALLBACK_INFO) || it.type.equalsToText(CALLBACK_INFO_RETURNABLE)
6361
} ?: return
6462

6563
val ciType = (ciParam.type as? PsiClassType)?.resolve() ?: return

src/main/kotlin/platform/mixin/inspection/injector/InjectCouldBeOverwriteInspection.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -360,11 +360,8 @@ class InjectCouldBeOverwriteInspection : MixinInspection() {
360360
}
361361

362362
companion object {
363-
private fun isCallbackInfoParam(param: PsiParameter): Boolean {
364-
val type = (param.type as? PsiClassType)?.resolve() ?: return false
365-
val qName = type.qualifiedName ?: return false
366-
return qName == MixinConstants.Classes.CALLBACK_INFO ||
367-
qName == MixinConstants.Classes.CALLBACK_INFO_RETURNABLE
368-
}
363+
private fun isCallbackInfoParam(param: PsiParameter) =
364+
param.type.equalsToText(MixinConstants.Classes.CALLBACK_INFO) ||
365+
param.type.equalsToText(MixinConstants.Classes.CALLBACK_INFO_RETURNABLE)
369366
}
370367
}

src/main/kotlin/platform/mixin/inspection/injector/InvalidInjectorMethodSignatureInspection.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import com.demonwav.mcdev.platform.mixin.util.isAssignable
3232
import com.demonwav.mcdev.platform.mixin.util.isConstructor
3333
import com.demonwav.mcdev.platform.mixin.util.isMixinExtrasSugar
3434
import com.demonwav.mcdev.util.Parameter
35-
import com.demonwav.mcdev.util.fullQualifiedName
3635
import com.demonwav.mcdev.util.synchronize
3736
import com.intellij.codeInsight.intention.FileModifier.SafeFieldForPreview
3837
import com.intellij.codeInsight.intention.QuickFixFactory
@@ -43,7 +42,6 @@ import com.intellij.codeInspection.ProblemsHolder
4342
import com.intellij.openapi.project.Project
4443
import com.intellij.psi.JavaElementVisitor
4544
import com.intellij.psi.JavaPsiFacade
46-
import com.intellij.psi.PsiClassType
4745
import com.intellij.psi.PsiElementVisitor
4846
import com.intellij.psi.PsiMethod
4947
import com.intellij.psi.PsiModifier
@@ -307,9 +305,8 @@ class InvalidInjectorMethodSignatureInspection : MixinInspection() {
307305
val parameters = descriptor.psiElement as PsiParameterList
308306
// We want to preserve captured locals
309307
val locals = parameters.parameters.dropWhile {
310-
val fqname = (it.type as? PsiClassType)?.fullQualifiedName ?: return@dropWhile true
311-
return@dropWhile fqname != MixinConstants.Classes.CALLBACK_INFO &&
312-
fqname != MixinConstants.Classes.CALLBACK_INFO_RETURNABLE
308+
!it.type.equalsToText(MixinConstants.Classes.CALLBACK_INFO) &&
309+
!it.type.equalsToText(MixinConstants.Classes.CALLBACK_INFO_RETURNABLE)
313310
}.drop(1) // the first element in the list is the CallbackInfo but we don't want it
314311
.takeWhile { !it.isMixinExtrasSugar }
315312

0 commit comments

Comments
 (0)