Skip to content

Conversation

scaventz
Copy link
Contributor

@scaventz scaventz commented Sep 9, 2025

^KT-79231 fixed

For Kotlin, version 2.2.10-release-430 (JRE 23.0.1+11-39)

interface I {
    enum class E {
        V { override fun go() { } };
        abstract fun go()
    }
}

->
InnerClasses in I: public static final #18= #20 of #2; // E=class I$E of class I
InnerClasses in I$E: public static final #81= #2 of #80; // E=class I$E of class I
InnerClasses in I$E$V:public static final #33= #4 of #32; // E=class I$E of class I

interface I {
    enum class E {
        V { fun go() { } };
    }
} 

->
InnerClasses in I: public static final #18= #20 of #2; // E=class I$E of class I
InnerClasses in I$E: public static final #80= #2 of #79; // E=class I$E of class I
InnerClasses in I$E$V:public static final #33= #4 of #32; // E=class I$E of class I


for Java:
openjdk version "23.0.1" 2024-10-15
OpenJDK Runtime Environment (build 23.0.1+11-39)
OpenJDK 64-Bit Server VM (build 23.0.1+11-39, mixed mode, sharing)

public interface I {
    enum E {
        V { public void g() { } };
         abstract public void g();
    }
}

->
InnerClasses in I: public static abstract #13= #8 of #1; // E=class I$E of class I
InnerClasses in I$E: public static abstract #51= #1 of #47; // E=class I$E of class I
InnerClasses in I$E$1:public static abstract #21= #2 of #18; // E=class I$E of class I

public interface I {
    enum E {
        V { public void g() { } }
    }
}

->
InnerClasses in I: public static #13= #8 of #1; // E=class I$E of class I
InnerClasses in I$E: public static #50= #1 of #46; // E=class I$E of class I
InnerClasses in I$E$1:public static #21= #2 of #18; // E=class I$E of class I


So I suppose after KT-79231 is fixed, we get:

interface I {
    enum class E {
        V { override fun go() { } };
        abstract fun go()
    }
}

->
InnerClasses in I: public static abstract #19= #21 of #2; // E=class I$E of class I
InnerClasses in I$E: public static abstract #82= #2 of #81; // E=class I$E of class I
InnerClasses in I$E$V:public static abstract #34= #4 of #33; // E=class I$E of class I

interface I {
    enum class E {
        V { fun go() { } };
    }
}

->

InnerClasses in I: public static final #19= #21 of #2; // E=class I$E of class I
InnerClasses in I$E: public static final #81= #2 of #80; // E=class I$E of class I
InnerClasses in I$E$V:public static final #34= #4 of #33; // E=class I$E of class I

@scaventz scaventz changed the title Mark inner enum class 'abstract' when it is [JVM] Mark inner enum class 'abstract' when it is Sep 9, 2025
@scaventz
Copy link
Contributor Author

scaventz commented Sep 9, 2025

I've run ./gradlew jvmCompilerTest, 5 tests failed (listed below), but somehow when I run them manually one by one, they all go green. I'm going to mark this pull request as "Ready for review".

JvmIrInterpreterAfterFirPsi2IrTestGenerated > Exceptions > testStackOverflow() FAILED
JvmIrInterpreterAfterFirPsi2IrTestGenerated > testSafeClassCast() FAILED
JvmIrInterpreterAfterFirPsi2IrTestGenerated > testObjectOverride() FAILED
JvmIrInterpreterAfterFirPsi2IrTestGenerated > Exceptions > testCommandsOutException() FAILED
JvmIrInterpreterAfterFirPsi2IrTestGenerated > testInterfaceDefault() FAILED

OpenJDK 64-Bit Server VM warning: CodeCache: size=262144Kb used=250994Kb max_used=257093Kb free=11149Kb
 bounds [0x000002e112de0000, 0x000002e122de0000, 0x000002e122de0000]
CodeCache is full. Compiler has been disabled.
 total_blobs=48597 nmethods=47335 adapters=1164
OpenJDK 64-Bit Server VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=
 compilation: enabled

> Task :compiler:tests-common-new:test

63638 tests completed, 5 failed, 11654 skipped
``

@scaventz scaventz marked this pull request as ready for review September 9, 2025 14:47
@scaventz scaventz requested review from a team as code owners September 9, 2025 14:47
@zhelenskiy zhelenskiy removed their request for review September 9, 2025 14:53
@udalov udalov added the Backend label Sep 10, 2025
@udalov udalov self-assigned this Sep 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants