User: rednesto Date: 07 Jul 23 12:13 Revision: e8c580178720ff8caf853af6c2285ff8e1ac9cee Summary: Properly handle empty classValue arg Fixes minecraft-dev/mcdev-error-report#863 Fixes minecraft-dev/mcdev-error-report#809 Fixes minecraft-dev/mcdev-error-report#561 TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8594&personal=false Index: src/main/kotlin/platform/mixin/handlers/injectionPoint/ConstantInjectionPoint.kt =================================================================== --- src/main/kotlin/platform/mixin/handlers/injectionPoint/ConstantInjectionPoint.kt (revision 6eb594b79f483ba96b4338b0cdc6c9250d7c7dd4) +++ src/main/kotlin/platform/mixin/handlers/injectionPoint/ConstantInjectionPoint.kt (revision e8c580178720ff8caf853af6c2285ff8e1ac9cee) @@ -24,6 +24,7 @@ import com.demonwav.mcdev.util.constantValue import com.demonwav.mcdev.util.createLiteralExpression import com.demonwav.mcdev.util.descriptor +import com.demonwav.mcdev.util.ifNotBlank import com.intellij.codeInsight.lookup.LookupElementBuilder import com.intellij.openapi.project.Project import com.intellij.psi.JavaPsiFacade @@ -60,7 +61,7 @@ val longValue = args["longValue"]?.toLongOrNull() val doubleValue = args["doubleValue"]?.toDoubleOrNull() val stringValue = args["stringValue"] - val classValue = args["classValue"]?.let { Type.getObjectType(it.replace('.', '/')) } + val classValue = args["classValue"]?.ifNotBlank { Type.getObjectType(it.replace('.', '/')) } val count = nullValue.toInt() + (intValue != null).toInt() + Index: src/main/kotlin/util/utils.kt =================================================================== --- src/main/kotlin/util/utils.kt (revision 6eb594b79f483ba96b4338b0cdc6c9250d7c7dd4) +++ src/main/kotlin/util/utils.kt (revision e8c580178720ff8caf853af6c2285ff8e1ac9cee) @@ -374,3 +374,11 @@ fun withSuppressed(original: T?, other: T): T = original?.apply { addSuppressed(other) } ?: other + +fun S.ifNotBlank(block: (S) -> R): R? { + if (this.isNotBlank()) { + return block(this) + } + + return null +}