[KAPT] Don't fail on illegal delegate
Kapt ignores error diagnostics, but backend can't compile such code at all This is workaround so backend won't fail. #KT-46176 Fixed
This commit is contained in:
committed by
TeamCityServer
parent
0c0710bb79
commit
0c6066db74
@@ -188,6 +188,12 @@ class JvmRuntimeTypes(
|
|||||||
else -> if (isMutable) mutablePropertyReferences else propertyReferences
|
else -> if (isMutable) mutablePropertyReferences else propertyReferences
|
||||||
}
|
}
|
||||||
|
|
||||||
return classes[arity].defaultType
|
return if (arity >= 0) {
|
||||||
|
classes[arity].defaultType
|
||||||
|
} else {
|
||||||
|
//in case of ErrorUtils.ERROR_PROPERTY there would be no dispatchReceiverParameter and arity becomes negative
|
||||||
|
//so we just take zero argument reference class (because it is incorrect anyway)
|
||||||
|
classes[0].defaultType
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -209,6 +209,11 @@ public class ClassFileToSourceStubConverterTestGenerated extends AbstractClassFi
|
|||||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/importsKt22083.kt");
|
runTest("plugins/kapt3/kapt3-compiler/testData/converter/importsKt22083.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("incorrectDelegate.kt")
|
||||||
|
public void testIncorrectDelegate() throws Exception {
|
||||||
|
runTest("plugins/kapt3/kapt3-compiler/testData/converter/incorrectDelegate.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("inheritanceSimple.kt")
|
@TestMetadata("inheritanceSimple.kt")
|
||||||
public void testInheritanceSimple() throws Exception {
|
public void testInheritanceSimple() throws Exception {
|
||||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/inheritanceSimple.kt");
|
runTest("plugins/kapt3/kapt3-compiler/testData/converter/inheritanceSimple.kt");
|
||||||
|
|||||||
+5
@@ -210,6 +210,11 @@ public class IrClassFileToSourceStubConverterTestGenerated extends AbstractIrCla
|
|||||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/importsKt22083.kt");
|
runTest("plugins/kapt3/kapt3-compiler/testData/converter/importsKt22083.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("incorrectDelegate.kt")
|
||||||
|
public void testIncorrectDelegate() throws Exception {
|
||||||
|
runTest("plugins/kapt3/kapt3-compiler/testData/converter/incorrectDelegate.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("inheritanceSimple.kt")
|
@TestMetadata("inheritanceSimple.kt")
|
||||||
public void testInheritanceSimple() throws Exception {
|
public void testInheritanceSimple() throws Exception {
|
||||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/inheritanceSimple.kt");
|
runTest("plugins/kapt3/kapt3-compiler/testData/converter/inheritanceSimple.kt");
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
class HomeFragment {
|
||||||
|
@Suppress("TOO_MANY_ARGUMENTS", "DELEGATE_SPECIAL_FUNCTION_MISSING")
|
||||||
|
private val categoryNewsListPresenter by moxyPresenter {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private val groupedNewsListAdapter: GroupedNewsListDelegateAdapter by lazy {
|
||||||
|
GroupedNewsListDelegateAdapter(
|
||||||
|
categoryNewsListPresenter::onWiFiClick
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GroupedNewsListDelegateAdapter(onWiFiClickListener: () -> Unit)
|
||||||
|
|
||||||
|
|
||||||
|
fun moxyPresenter() {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class GroupedNewsListDelegateAdapter {
|
||||||
|
|
||||||
|
public GroupedNewsListDelegateAdapter(@org.jetbrains.annotations.NotNull()
|
||||||
|
kotlin.jvm.functions.Function0<kotlin.Unit> onWiFiClickListener) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class HomeFragment {
|
||||||
|
private final kotlin.Unit categoryNewsListPresenter$delegate = null;
|
||||||
|
private final kotlin.Lazy groupedNewsListAdapter$delegate = null;
|
||||||
|
|
||||||
|
public HomeFragment() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
private final error.NonExistentClass getCategoryNewsListPresenter() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Suppress(names = {"TOO_MANY_ARGUMENTS", "DELEGATE_SPECIAL_FUNCTION_MISSING"})
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
private static void getCategoryNewsListPresenter$annotations() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private final GroupedNewsListDelegateAdapter getGroupedNewsListAdapter() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class IncorrectDelegateKt {
|
||||||
|
|
||||||
|
public IncorrectDelegateKt() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final void moxyPresenter() {
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user