[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");
|
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
|
@Test
|
||||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
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");
|
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
|
@Test
|
||||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
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");
|
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
|
@Test
|
||||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
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");
|
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
|
@Test
|
||||||
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
@TestMetadata("suspendFunctionValueParameterNoStdlib.kt")
|
||||||
public void testSuspendFunctionValueParameterNoStdlib() throws Exception {
|
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.CachedValueProvider
|
||||||
import com.intellij.psi.util.PsiUtil
|
import com.intellij.psi.util.PsiUtil
|
||||||
import org.jetbrains.annotations.NonNls
|
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.project.structure.KtModule
|
||||||
import org.jetbrains.kotlin.analysis.providers.createProjectWideOutOfBlockModificationTracker
|
import org.jetbrains.kotlin.analysis.providers.createProjectWideOutOfBlockModificationTracker
|
||||||
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
|
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
|
||||||
@@ -191,4 +196,14 @@ abstract class SymbolLightClassBase protected constructor(val ktModule: KtModule
|
|||||||
visitor.visitElement(this)
|
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
|
it is KtKotlinPropertySymbol && it.origin == KtSymbolOrigin.SOURCE_MEMBER_GENERATED && it.name == StandardNames.ENUM_ENTRIES
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.filterNot {
|
||||||
|
it.hasTypeForValueClassInSignature()
|
||||||
|
}
|
||||||
|
|
||||||
val suppressStatic = isCompanionObject
|
val suppressStatic = isCompanionObject
|
||||||
createMethods(visibleDeclarations, result, suppressStatic = suppressStatic)
|
createMethods(visibleDeclarations, result, suppressStatic = suppressStatic)
|
||||||
|
|||||||
+1
@@ -97,6 +97,7 @@ class SymbolLightClassForFacade(
|
|||||||
if (callableSymbol !is KtSymbolWithVisibility) continue
|
if (callableSymbol !is KtSymbolWithVisibility) continue
|
||||||
if ((callableSymbol as? KtAnnotatedSymbol)?.hasInlineOnlyAnnotation() == true) continue
|
if ((callableSymbol as? KtAnnotatedSymbol)?.hasInlineOnlyAnnotation() == true) continue
|
||||||
if (multiFileClass && callableSymbol.toPsiVisibilityForMember() == PsiModifier.PRIVATE) continue
|
if (multiFileClass && callableSymbol.toPsiVisibilityForMember() == PsiModifier.PRIVATE) continue
|
||||||
|
if (callableSymbol.hasTypeForValueClassInSignature(ignoreReturnType = true)) continue
|
||||||
yield(callableSymbol)
|
yield(callableSymbol)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -57,6 +57,7 @@ internal open class SymbolLightClassForInterface : SymbolLightClassForInterfaceO
|
|||||||
|
|
||||||
val visibleDeclarations = classOrObjectSymbol.getDeclaredMemberScope().getCallableSymbols()
|
val visibleDeclarations = classOrObjectSymbol.getDeclaredMemberScope().getCallableSymbols()
|
||||||
.filterNot { it is KtFunctionSymbol && it.visibility.isPrivateOrPrivateToThis() }
|
.filterNot { it is KtFunctionSymbol && it.visibility.isPrivateOrPrivateToThis() }
|
||||||
|
.filterNot { it.hasTypeForValueClassInSignature() }
|
||||||
|
|
||||||
createMethods(visibleDeclarations, result)
|
createMethods(visibleDeclarations, result)
|
||||||
addMethodsFromCompanionIfNeeded(result, classOrObjectSymbol)
|
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.getter?.hasBody != true && declaration.setter?.hasBody != true && declaration.visibility.isPrivateOrPrivateToThis()) return
|
||||||
|
|
||||||
if (declaration.hasJvmFieldAnnotation()) 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 {
|
fun KtPropertyAccessorSymbol.needToCreateAccessor(siteTarget: AnnotationUseSiteTarget): Boolean {
|
||||||
if (onlyJvmStatic &&
|
if (onlyJvmStatic &&
|
||||||
@@ -334,7 +353,7 @@ internal fun SymbolLightClassBase.createPropertyAccessors(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val setter = declaration.setter?.takeIf {
|
val setter = declaration.setter?.takeIf {
|
||||||
!isAnnotationType && it.needToCreateAccessor(AnnotationUseSiteTarget.PROPERTY_SETTER)
|
!isAnnotationType && it.needToCreateAccessor(AnnotationUseSiteTarget.PROPERTY_SETTER) && !propertyTypeIsValueClass
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isMutable && setter != null) {
|
if (isMutable && setter != null) {
|
||||||
@@ -602,3 +621,10 @@ internal fun SymbolLightClassBase.addPropertyBackingFields(
|
|||||||
// Then, regular member properties
|
// Then, regular member properties
|
||||||
propertyGroups[false]?.forEach(::addPropertyBackingField)
|
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");
|
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
|
@Test
|
||||||
@TestMetadata("wildcardOptimization.kt")
|
@TestMetadata("wildcardOptimization.kt")
|
||||||
public void testWildcardOptimization() throws Exception {
|
public void testWildcardOptimization() throws Exception {
|
||||||
@@ -369,6 +375,12 @@ public class SymbolLightClassesByPsiForLibraryTestGenerated extends AbstractSymb
|
|||||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/facades/throwsAnnotation.kt");
|
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
|
@Test
|
||||||
@TestMetadata("wildcardOptimization.kt")
|
@TestMetadata("wildcardOptimization.kt")
|
||||||
public void testWildcardOptimization() throws Exception {
|
public void testWildcardOptimization() throws Exception {
|
||||||
|
|||||||
+12
@@ -282,6 +282,12 @@ public class SymbolLightClassesByPsiForSourceTestGenerated extends AbstractSymbo
|
|||||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/unresolvedWithAliasedImport.kt");
|
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
|
@Test
|
||||||
@TestMetadata("wildcardOptimization.kt")
|
@TestMetadata("wildcardOptimization.kt")
|
||||||
public void testWildcardOptimization() throws Exception {
|
public void testWildcardOptimization() throws Exception {
|
||||||
@@ -369,6 +375,12 @@ public class SymbolLightClassesByPsiForSourceTestGenerated extends AbstractSymbo
|
|||||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/facades/throwsAnnotation.kt");
|
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
|
@Test
|
||||||
@TestMetadata("wildcardOptimization.kt")
|
@TestMetadata("wildcardOptimization.kt")
|
||||||
public void testWildcardOptimization() throws Exception {
|
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