diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightSimpleMethod.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightSimpleMethod.kt index b1a29dba98b..0d002517d78 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightSimpleMethod.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightSimpleMethod.kt @@ -205,10 +205,16 @@ internal class SymbolLightSimpleMethod( } } + context(KtAnalysisSession) private val KtType.isInlineClassType: Boolean get() = ((this as? KtNonErrorClassType)?.classSymbol as? KtNamedClassOrObjectSymbol)?.isInline == true - private val KtType.isVoidType: Boolean get() = isUnit && nullabilityType != NullabilityType.Nullable + context(KtAnalysisSession) + private val KtType.isVoidType: Boolean + get() { + val expandedType = fullyExpandedType + return expandedType.isUnit && expandedType.nullabilityType != NullabilityType.Nullable + } private val _returnedType: PsiType by lazyPub { withFunctionSymbol { functionSymbol -> diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.descriptors.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.descriptors.java deleted file mode 100644 index 0e16f8e1a72..00000000000 --- a/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.descriptors.java +++ /dev/null @@ -1,14 +0,0 @@ -public final class Usage /* mypack.Usage*/ { - @org.jetbrains.annotations.Nullable() - public final kotlin.Unit nullableUnitTypeAlias();// nullableUnitTypeAlias() - - @org.jetbrains.annotations.Nullable() - public final kotlin.Unit nullableUnitTypeAliasAsNullable();// nullableUnitTypeAliasAsNullable() - - @org.jetbrains.annotations.Nullable() - public final kotlin.Unit unitTypeAliasAsNullable();// unitTypeAliasAsNullable() - - public Usage();// .ctor() - - public final void unitTypeAlias();// unitTypeAlias() -} diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.java index f1f95ebaae9..0e16f8e1a72 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.java +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.java @@ -1,7 +1,4 @@ public final class Usage /* mypack.Usage*/ { - @org.jetbrains.annotations.NotNull() - public final kotlin.Unit unitTypeAlias();// unitTypeAlias() - @org.jetbrains.annotations.Nullable() public final kotlin.Unit nullableUnitTypeAlias();// nullableUnitTypeAlias() @@ -12,4 +9,6 @@ public final class Usage /* mypack.Usage*/ { public final kotlin.Unit unitTypeAliasAsNullable();// unitTypeAliasAsNullable() public Usage();// .ctor() + + public final void unitTypeAlias();// unitTypeAlias() } diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.lib.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.lib.java deleted file mode 100644 index 0e16f8e1a72..00000000000 --- a/compiler/testData/asJava/lightClasses/lightClassByFqName/UnitAsTypeAlias.lib.java +++ /dev/null @@ -1,14 +0,0 @@ -public final class Usage /* mypack.Usage*/ { - @org.jetbrains.annotations.Nullable() - public final kotlin.Unit nullableUnitTypeAlias();// nullableUnitTypeAlias() - - @org.jetbrains.annotations.Nullable() - public final kotlin.Unit nullableUnitTypeAliasAsNullable();// nullableUnitTypeAliasAsNullable() - - @org.jetbrains.annotations.Nullable() - public final kotlin.Unit unitTypeAliasAsNullable();// unitTypeAliasAsNullable() - - public Usage();// .ctor() - - public final void unitTypeAlias();// unitTypeAlias() -} diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/UnitAsTypeAliasActualization.descriptors.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/UnitAsTypeAliasActualization.descriptors.java deleted file mode 100644 index 61c207173d2..00000000000 --- a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/UnitAsTypeAliasActualization.descriptors.java +++ /dev/null @@ -1,16 +0,0 @@ -public final class Usage /* mypack.Usage*/ { - @org.jetbrains.annotations.NotNull() - private final kotlin.Unit prop; - - @org.jetbrains.annotations.NotNull() - public final kotlin.Unit getProp();// getProp() - - @org.jetbrains.annotations.Nullable() - public final kotlin.Unit getNullableProperty();// getNullableProperty() - - public Usage();// .ctor() - - public final void foo();// foo() - - public final void usage(@org.jetbrains.annotations.NotNull() kotlin.Unit);// usage(kotlin.Unit) -} diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/UnitAsTypeAliasActualization.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/UnitAsTypeAliasActualization.java index 0f63c065559..61c207173d2 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/UnitAsTypeAliasActualization.java +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/UnitAsTypeAliasActualization.java @@ -2,9 +2,6 @@ public final class Usage /* mypack.Usage*/ { @org.jetbrains.annotations.NotNull() private final kotlin.Unit prop; - @org.jetbrains.annotations.NotNull() - public final kotlin.Unit foo();// foo() - @org.jetbrains.annotations.NotNull() public final kotlin.Unit getProp();// getProp() @@ -13,5 +10,7 @@ public final class Usage /* mypack.Usage*/ { public Usage();// .ctor() + public final void foo();// foo() + public final void usage(@org.jetbrains.annotations.NotNull() kotlin.Unit);// usage(kotlin.Unit) }