[AA LC] Don't create light methods if value class is present in signature
^KT-55788 Test `parameter_jvmInline.kt` is removed because now members with value classes are not included in light classes and don't have PSI representation
This commit is contained in:
committed by
Space Team
parent
16b72d3e54
commit
faa96ec7c0
-6
@@ -106,12 +106,6 @@ public class Fe10IdeNormalAnalysisSourceModuleAnalysisApiPsiTypeProviderTestGene
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/localClass_memberFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("parameter_jvmInline.kt")
|
||||
public void testParameter_jvmInline() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
||||
|
||||
-6
@@ -106,12 +106,6 @@ public class FirIdeDependentAnalysisSourceModuleAnalysisApiPsiTypeProviderTestGe
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/localClass_memberFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("parameter_jvmInline.kt")
|
||||
public void testParameter_jvmInline() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
||||
|
||||
-6
@@ -106,12 +106,6 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiPsiTypeProviderTestGener
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/localClass_memberFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("parameter_jvmInline.kt")
|
||||
public void testParameter_jvmInline() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
||||
|
||||
-6
@@ -106,12 +106,6 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiPsiTypeProviderTe
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/localClass_memberFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("parameter_jvmInline.kt")
|
||||
public void testParameter_jvmInline() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
||||
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
@kotlin.jvm.JvmInline
|
||||
value class MyInt(val value: Int)
|
||||
|
||||
fun box(i<caret> : MyInt) {}
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
KtType: MyInt
|
||||
PsiType: PsiType:int
|
||||
+16
-1
@@ -18,6 +18,11 @@ import com.intellij.psi.scope.PsiScopeProcessor
|
||||
import com.intellij.psi.util.CachedValueProvider
|
||||
import com.intellij.psi.util.PsiUtil
|
||||
import org.jetbrains.annotations.NonNls
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.receiverType
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionLikeSymbol
|
||||
import org.jetbrains.kotlin.analysis.project.structure.KtModule
|
||||
import org.jetbrains.kotlin.analysis.providers.createProjectWideOutOfBlockModificationTracker
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
|
||||
@@ -191,4 +196,14 @@ abstract class SymbolLightClassBase protected constructor(val ktModule: KtModule
|
||||
visitor.visitElement(this)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
context(KtAnalysisSession)
|
||||
protected fun KtCallableSymbol.hasTypeForValueClassInSignature(ignoreReturnType: Boolean = false): Boolean {
|
||||
if (!ignoreReturnType && returnType.typeForValueClass) return true
|
||||
if (receiverType?.typeForValueClass == true) return true
|
||||
if (this is KtFunctionLikeSymbol) {
|
||||
return valueParameters.any { it.returnType.typeForValueClass }
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -139,6 +139,9 @@ internal open class SymbolLightClassForClassOrObject : SymbolLightClassForNamedC
|
||||
it is KtKotlinPropertySymbol && it.origin == KtSymbolOrigin.SOURCE_MEMBER_GENERATED && it.name == StandardNames.ENUM_ENTRIES
|
||||
}
|
||||
}
|
||||
.filterNot {
|
||||
it.hasTypeForValueClassInSignature()
|
||||
}
|
||||
|
||||
val suppressStatic = isCompanionObject
|
||||
createMethods(visibleDeclarations, result, suppressStatic = suppressStatic)
|
||||
|
||||
+1
@@ -97,6 +97,7 @@ class SymbolLightClassForFacade(
|
||||
if (callableSymbol !is KtSymbolWithVisibility) continue
|
||||
if ((callableSymbol as? KtAnnotatedSymbol)?.hasInlineOnlyAnnotation() == true) continue
|
||||
if (multiFileClass && callableSymbol.toPsiVisibilityForMember() == PsiModifier.PRIVATE) continue
|
||||
if (callableSymbol.hasTypeForValueClassInSignature(ignoreReturnType = true)) continue
|
||||
yield(callableSymbol)
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -57,6 +57,7 @@ internal open class SymbolLightClassForInterface : SymbolLightClassForInterfaceO
|
||||
|
||||
val visibleDeclarations = classOrObjectSymbol.getDeclaredMemberScope().getCallableSymbols()
|
||||
.filterNot { it is KtFunctionSymbol && it.visibility.isPrivateOrPrivateToThis() }
|
||||
.filterNot { it.hasTypeForValueClassInSignature() }
|
||||
|
||||
createMethods(visibleDeclarations, result)
|
||||
addMethodsFromCompanionIfNeeded(result, classOrObjectSymbol)
|
||||
|
||||
+27
-1
@@ -290,6 +290,25 @@ internal fun SymbolLightClassBase.createPropertyAccessors(
|
||||
if (declaration.getter?.hasBody != true && declaration.setter?.hasBody != true && declaration.visibility.isPrivateOrPrivateToThis()) return
|
||||
|
||||
if (declaration.hasJvmFieldAnnotation()) return
|
||||
val propertyTypeIsValueClass = declaration.returnType.typeForValueClass
|
||||
/*
|
||||
* For top-level properties with value class in return type compiler mangles only setter
|
||||
*
|
||||
* @JvmInline
|
||||
* value class Some(val value: String)
|
||||
*
|
||||
* var topLevelProp: Some = Some("1")
|
||||
*
|
||||
* Compiles to
|
||||
* public final class FooKt {
|
||||
* public final static getTopLevelProp()Ljava/lang/String;
|
||||
*
|
||||
* public final static setTopLevelProp-5lyY9Q4(Ljava/lang/String;)V
|
||||
*
|
||||
* private static Ljava/lang/String; topLevelProp
|
||||
* }
|
||||
*/
|
||||
if (this !is SymbolLightClassForFacade && propertyTypeIsValueClass) return
|
||||
|
||||
fun KtPropertyAccessorSymbol.needToCreateAccessor(siteTarget: AnnotationUseSiteTarget): Boolean {
|
||||
if (onlyJvmStatic &&
|
||||
@@ -334,7 +353,7 @@ internal fun SymbolLightClassBase.createPropertyAccessors(
|
||||
}
|
||||
|
||||
val setter = declaration.setter?.takeIf {
|
||||
!isAnnotationType && it.needToCreateAccessor(AnnotationUseSiteTarget.PROPERTY_SETTER)
|
||||
!isAnnotationType && it.needToCreateAccessor(AnnotationUseSiteTarget.PROPERTY_SETTER) && !propertyTypeIsValueClass
|
||||
}
|
||||
|
||||
if (isMutable && setter != null) {
|
||||
@@ -602,3 +621,10 @@ internal fun SymbolLightClassBase.addPropertyBackingFields(
|
||||
// Then, regular member properties
|
||||
propertyGroups[false]?.forEach(::addPropertyBackingField)
|
||||
}
|
||||
|
||||
context(KtAnalysisSession)
|
||||
internal val KtType.typeForValueClass: Boolean
|
||||
get() {
|
||||
val symbol = expandedClassSymbol as? KtNamedClassOrObjectSymbol ?: return false
|
||||
return symbol.isInline
|
||||
}
|
||||
|
||||
+12
@@ -282,6 +282,12 @@ public class SymbolLightClassesByPsiForLibraryTestGenerated extends AbstractSymb
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/unresolvedWithAliasedImport.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("valueClassInSignature.kt")
|
||||
public void testValueClassInSignature() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/valueClassInSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("wildcardOptimization.kt")
|
||||
public void testWildcardOptimization() throws Exception {
|
||||
@@ -369,6 +375,12 @@ public class SymbolLightClassesByPsiForLibraryTestGenerated extends AbstractSymb
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/facades/throwsAnnotation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("valueClassInSignature.kt")
|
||||
public void testValueClassInSignature() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/facades/valueClassInSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("wildcardOptimization.kt")
|
||||
public void testWildcardOptimization() throws Exception {
|
||||
|
||||
+12
@@ -282,6 +282,12 @@ public class SymbolLightClassesByPsiForSourceTestGenerated extends AbstractSymbo
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/unresolvedWithAliasedImport.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("valueClassInSignature.kt")
|
||||
public void testValueClassInSignature() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/valueClassInSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("wildcardOptimization.kt")
|
||||
public void testWildcardOptimization() throws Exception {
|
||||
@@ -369,6 +375,12 @@ public class SymbolLightClassesByPsiForSourceTestGenerated extends AbstractSymbo
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/facades/throwsAnnotation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("valueClassInSignature.kt")
|
||||
public void testValueClassInSignature() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/facades/valueClassInSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("wildcardOptimization.kt")
|
||||
public void testWildcardOptimization() throws Exception {
|
||||
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
@kotlin.jvm.JvmInline()
|
||||
public final class Some /* Some*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String value;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getValue();// getValue()
|
||||
|
||||
public Some(@org.jetbrains.annotations.NotNull() java.lang.String);// .ctor(java.lang.String)
|
||||
}
|
||||
|
||||
public final class SomeClass /* SomeClass*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private java.lang.String memberProp;
|
||||
|
||||
public SomeClass();// .ctor()
|
||||
}
|
||||
|
||||
public abstract interface SomeInterface /* SomeInterface*/ {
|
||||
class DefaultImpls ...
|
||||
}
|
||||
|
||||
public final class ValueClassInSignatureKt /* ValueClassInSignatureKt*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static java.lang.String topLevelProp;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.lang.String getTopLevelProp();// getTopLevelProp()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.lang.String topLevelFunInReturn();// topLevelFunInReturn()
|
||||
}
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
@kotlin.jvm.JvmInline()
|
||||
public final class Some /* Some*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String value;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getValue();// getValue()
|
||||
|
||||
public Some(@org.jetbrains.annotations.NotNull() java.lang.String);// .ctor(java.lang.String)
|
||||
}
|
||||
|
||||
public final class SomeClass /* SomeClass*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private java.lang.String memberProp;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getMemberProp();// getMemberProp()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String memberFunInReturn();// memberFunInReturn()
|
||||
|
||||
public SomeClass();// .ctor()
|
||||
|
||||
public final int getMemberPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getMemberPropInExtension(java.lang.String)
|
||||
|
||||
public final void memberFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInExtension(java.lang.String)
|
||||
|
||||
public final void memberFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInParameter(java.lang.String)
|
||||
|
||||
public final void setMemberProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setMemberProp(java.lang.String)
|
||||
|
||||
public final void setMemberPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setMemberPropInExtension(java.lang.String, int)
|
||||
}
|
||||
|
||||
public abstract interface SomeInterface /* SomeInterface*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String getMemberProp();// getMemberProp()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String memberFunInReturn();// memberFunInReturn()
|
||||
|
||||
public abstract int getMemberPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getMemberPropInExtension(java.lang.String)
|
||||
|
||||
public abstract void memberFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInExtension(java.lang.String)
|
||||
|
||||
public abstract void memberFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInParameter(java.lang.String)
|
||||
|
||||
public abstract void setMemberProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setMemberProp(java.lang.String)
|
||||
|
||||
public abstract void setMemberPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setMemberPropInExtension(java.lang.String, int)
|
||||
|
||||
class DefaultImpls ...
|
||||
}
|
||||
|
||||
public final class ValueClassInSignatureKt /* ValueClassInSignatureKt*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static java.lang.String topLevelProp;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.lang.String getTopLevelProp();// getTopLevelProp()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.lang.String topLevelFunInReturn();// topLevelFunInReturn()
|
||||
|
||||
public static final int getTopLevelPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getTopLevelPropInExtension(java.lang.String)
|
||||
|
||||
public static final void setTopLevelProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setTopLevelProp(java.lang.String)
|
||||
|
||||
public static final void setTopLevelPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setTopLevelPropInExtension(java.lang.String, int)
|
||||
|
||||
public static final void topLevelFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// topLevelFunInExtension(java.lang.String)
|
||||
|
||||
public static final void topLevelFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// topLevelFunInParameter(java.lang.String)
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
@JvmInline
|
||||
value class Some(val value: String)
|
||||
|
||||
var topLevelProp: Some = Some("1")
|
||||
var Some.topLevelPropInExtension: Int
|
||||
get() = 1
|
||||
set(value) {}
|
||||
|
||||
fun topLevelFunInReturn(): Some = Some("1")
|
||||
fun topLevelFunInParameter(s: Some) {}
|
||||
fun Some.topLevelFunInExtension() {}
|
||||
|
||||
class SomeClass {
|
||||
var memberProp: Some = Some("1")
|
||||
var Some.memberPropInExtension: Int
|
||||
get() = 1
|
||||
set(value) {}
|
||||
|
||||
fun memberFunInReturn(): Some = Some("1")
|
||||
fun memberFunInParameter(s: Some) {}
|
||||
fun Some.memberFunInExtension() {}
|
||||
}
|
||||
|
||||
interface SomeInterface {
|
||||
var memberProp: Some
|
||||
var Some.memberPropInExtension: Int
|
||||
get() = 1
|
||||
set(value) {}
|
||||
|
||||
fun memberFunInReturn(): Some
|
||||
fun memberFunInParameter(s: Some)
|
||||
fun Some.memberFunInExtension()
|
||||
}
|
||||
Vendored
+89
@@ -0,0 +1,89 @@
|
||||
@kotlin.jvm.JvmInline()
|
||||
public final class Some /* Some*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String value;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getValue();// getValue()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static java.lang.String constructor-impl(@org.jetbrains.annotations.NotNull() java.lang.String);// constructor-impl(java.lang.String)
|
||||
|
||||
public boolean equals(java.lang.Object);// equals(java.lang.Object)
|
||||
|
||||
public int hashCode();// hashCode()
|
||||
|
||||
public java.lang.String toString();// toString()
|
||||
|
||||
public static boolean equals-impl(java.lang.String, java.lang.Object);// equals-impl(java.lang.String, java.lang.Object)
|
||||
|
||||
public static final boolean equals-impl0(java.lang.String, java.lang.String);// equals-impl0(java.lang.String, java.lang.String)
|
||||
|
||||
public static int hashCode-impl(java.lang.String);// hashCode-impl(java.lang.String)
|
||||
|
||||
public static java.lang.String toString-impl(java.lang.String);// toString-impl(java.lang.String)
|
||||
}
|
||||
|
||||
public final class SomeClass /* SomeClass*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private java.lang.String memberProp;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getMemberProp-YO-7n-0();// getMemberProp-YO-7n-0()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String memberFunInReturn-YO-7n-0();// memberFunInReturn-YO-7n-0()
|
||||
|
||||
public SomeClass();// .ctor()
|
||||
|
||||
public final int getMemberPropInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// getMemberPropInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void memberFunInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void memberFunInParameter-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInParameter-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void setMemberProp-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setMemberProp-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void setMemberPropInExtension-54afNMI(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setMemberPropInExtension-54afNMI(java.lang.String, int)
|
||||
}
|
||||
|
||||
public abstract interface SomeInterface /* SomeInterface*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String getMemberProp-YO-7n-0();// getMemberProp-YO-7n-0()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String memberFunInReturn-YO-7n-0();// memberFunInReturn-YO-7n-0()
|
||||
|
||||
public abstract int getMemberPropInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// getMemberPropInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void memberFunInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void memberFunInParameter-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// memberFunInParameter-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void setMemberProp-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setMemberProp-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void setMemberPropInExtension-54afNMI(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setMemberPropInExtension-54afNMI(java.lang.String, int)
|
||||
|
||||
class DefaultImpls ...
|
||||
}
|
||||
|
||||
public final class ValueClassInSignatureKt /* ValueClassInSignatureKt*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static java.lang.String topLevelProp;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.lang.String getTopLevelProp();// getTopLevelProp()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.lang.String topLevelFunInReturn();// topLevelFunInReturn()
|
||||
|
||||
public static final int getTopLevelPropInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// getTopLevelPropInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public static final void setTopLevelProp-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setTopLevelProp-5lyY9Q4(java.lang.String)
|
||||
|
||||
public static final void setTopLevelPropInExtension-54afNMI(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setTopLevelPropInExtension-54afNMI(java.lang.String, int)
|
||||
|
||||
public static final void topLevelFunInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// topLevelFunInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public static final void topLevelFunInParameter-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// topLevelFunInParameter-5lyY9Q4(java.lang.String)
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
public final class RegularClass /* RegularClass*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private java.lang.String classProp;
|
||||
|
||||
public RegularClass();// .ctor()
|
||||
}
|
||||
|
||||
public abstract interface RegularInterface /* RegularInterface*/ {
|
||||
class DefaultImpls ...
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline()
|
||||
public final class Some /* Some*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String value;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getValue();// getValue()
|
||||
|
||||
public Some(@org.jetbrains.annotations.NotNull() java.lang.String);// .ctor(java.lang.String)
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
public final class RegularClass /* RegularClass*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private java.lang.String classProp;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String classFunInReturn();// classFunInReturn()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getClassProp();// getClassProp()
|
||||
|
||||
public RegularClass();// .ctor()
|
||||
|
||||
public final int getClassPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getClassPropInExtension(java.lang.String)
|
||||
|
||||
public final void classFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInExtension(java.lang.String)
|
||||
|
||||
public final void classFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInParameter(java.lang.String)
|
||||
|
||||
public final void setClassProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassProp(java.lang.String)
|
||||
|
||||
public final void setClassPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setClassPropInExtension(java.lang.String, int)
|
||||
}
|
||||
|
||||
public abstract interface RegularInterface /* RegularInterface*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String getInterfaceProp();// getInterfaceProp()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String interfaceFunInReturn();// interfaceFunInReturn()
|
||||
|
||||
public abstract int getInterfacePropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getInterfacePropInExtension(java.lang.String)
|
||||
|
||||
public abstract void interfaceFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInExtension(java.lang.String)
|
||||
|
||||
public abstract void interfaceFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInParameter(java.lang.String)
|
||||
|
||||
public abstract void setInterfaceProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setInterfaceProp(java.lang.String)
|
||||
|
||||
public abstract void setInterfacePropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setInterfacePropInExtension(java.lang.String, int)
|
||||
|
||||
class DefaultImpls ...
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline()
|
||||
public final class Some /* Some*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String value;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getValue();// getValue()
|
||||
|
||||
public Some(@org.jetbrains.annotations.NotNull() java.lang.String);// .ctor(java.lang.String)
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// CHECK_BY_JAVA_FILE
|
||||
|
||||
@JvmInline
|
||||
value class Some(val value: String)
|
||||
|
||||
class RegularClass {
|
||||
var classProp: Some = Some("1")
|
||||
var Some.classPropInExtension: Int
|
||||
get() = 1
|
||||
set(value) {}
|
||||
|
||||
fun classFunInReturn(): Some = Some("1")
|
||||
fun classFunInParameter(s: Some) {}
|
||||
fun Some.classFunInExtension() {}
|
||||
}
|
||||
|
||||
interface RegularInterface {
|
||||
var interfaceProp: Some
|
||||
var Some.interfacePropInExtension: Int
|
||||
|
||||
fun interfaceFunInReturn(): Some = Some("1")
|
||||
fun interfaceFunInParameter(s: Some) {}
|
||||
fun Some.interfaceFunInExtension() {}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
public final class RegularClass /* RegularClass*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private java.lang.String classProp;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String classFunInReturn-YO-7n-0();// classFunInReturn-YO-7n-0()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getClassProp-YO-7n-0();// getClassProp-YO-7n-0()
|
||||
|
||||
public RegularClass();// .ctor()
|
||||
|
||||
public final int getClassPropInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// getClassPropInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void classFunInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void classFunInParameter-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInParameter-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void setClassProp-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassProp-5lyY9Q4(java.lang.String)
|
||||
|
||||
public final void setClassPropInExtension-54afNMI(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setClassPropInExtension-54afNMI(java.lang.String, int)
|
||||
}
|
||||
|
||||
public abstract interface RegularInterface /* RegularInterface*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String getInterfaceProp-YO-7n-0();// getInterfaceProp-YO-7n-0()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String interfaceFunInReturn-YO-7n-0();// interfaceFunInReturn-YO-7n-0()
|
||||
|
||||
public abstract int getInterfacePropInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// getInterfacePropInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void interfaceFunInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInExtension-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void interfaceFunInParameter-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInParameter-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void setInterfaceProp-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setInterfaceProp-5lyY9Q4(java.lang.String)
|
||||
|
||||
public abstract void setInterfacePropInExtension-54afNMI(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setInterfacePropInExtension-54afNMI(java.lang.String, int)
|
||||
|
||||
class DefaultImpls ...
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline()
|
||||
public final class Some /* Some*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String value;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getValue();// getValue()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static java.lang.String constructor-impl(@org.jetbrains.annotations.NotNull() java.lang.String);// constructor-impl(java.lang.String)
|
||||
|
||||
public boolean equals(java.lang.Object);// equals(java.lang.Object)
|
||||
|
||||
public int hashCode();// hashCode()
|
||||
|
||||
public java.lang.String toString();// toString()
|
||||
|
||||
public static boolean equals-impl(java.lang.String, java.lang.Object);// equals-impl(java.lang.String, java.lang.Object)
|
||||
|
||||
public static final boolean equals-impl0(java.lang.String, java.lang.String);// equals-impl0(java.lang.String, java.lang.String)
|
||||
|
||||
public static int hashCode-impl(java.lang.String);// hashCode-impl(java.lang.String)
|
||||
|
||||
public static java.lang.String toString-impl(java.lang.String);// toString-impl(java.lang.String)
|
||||
}
|
||||
Reference in New Issue
Block a user