diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/deterministicNotNullChecks.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/deterministicNotNullChecks.kt index 3f3edaca1e8..9ace878dc25 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/deterministicNotNullChecks.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/deterministicNotNullChecks.kt @@ -1,109 +1,20 @@ -// FILE: test/DeclarationDescriptor.java - -package test; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; - -public interface DeclarationDescriptor { - @NotNull - DeclarationDescriptor getOriginal(); - - @Nullable - DeclarationDescriptor getContainingDeclaration(); -} - -// FILE: test/DeclarationDescriptorWithVisibility.java -package test; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; - -public interface DeclarationDescriptorWithVisibility extends DeclarationDescriptor { -} - -// FILE: test/DeclarationDescriptorWithSource.java -package test; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; - -public interface DeclarationDescriptorWithSource extends DeclarationDescriptor { - @Override - @NotNull - DeclarationDescriptorWithSource getOriginal(); -} - -// FILE: test/DeclarationDescriptorNonRoot.java -package test; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; - -public interface DeclarationDescriptorNonRoot extends DeclarationDescriptorWithSource { -} - // FILE: test/CallableDescriptor.java package test; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import java.util.Collection; - -public interface CallableDescriptor extends DeclarationDescriptorWithVisibility, DeclarationDescriptorNonRoot { +public interface CallableDescriptor { @NotNull - @Override CallableDescriptor getOriginal(); - - @NotNull - Collection getOverriddenDescriptors(); } // FILE: test/k.kt package test -fun D.overriddenTreeUniqueAsSequenceA(useOriginal: Boolean): Sequence { - val set = hashSetOf() - - @Suppress("UNCHECKED_CAST") - fun D.doBuildOverriddenTreeAsSequence(): Sequence { - return with(if (useOriginal) original as D else this) { - if (original in set) - emptySequence() - else { - emptySequence() - } - } - } - - return doBuildOverriddenTreeAsSequence() +fun D.overriddenTreeUniqueAsSequenceA(): Boolean { + return original in emptySet() } -fun D.overriddenTreeUniqueAsSequenceB(useOriginal: Boolean): Sequence { - val set = hashSetOf() - - @Suppress("UNCHECKED_CAST") - fun D.doBuildOverriddenTreeAsSequence(): Sequence { - return with(if (useOriginal) original as D else this) { - if (original in set) - emptySequence() - else { - emptySequence() - } - } - } - - return doBuildOverriddenTreeAsSequence() -} - -// @KKt.class: +// TODO: in fact, there should be an assertion, but it's missing because of https://youtrack.jetbrains.com/issue/KT-24210. +// (This test's aim is not to check whether or not the assertion is generated, but to ensure that the behavior is deterministic.) // 0 checkExpressionValueIsNotNull