Last active
December 15, 2015 14:59
-
-
Save ianbattersby/5278610 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum class MyEnum { | |
MyValOne { | |
override enum class InsideWeFind { | |
SubOne { | |
override fun BigFun() { | |
println("MyValOne only has one BigFun for SubOne.") | |
} | |
override fun SubFun() { | |
println("MyValOne only also has SubFun for SubOne.") | |
} | |
} | |
SubTwo { | |
override fun BigFun() { | |
println("MyValOne only has one BigFun for SubTwo.") | |
} | |
override fun SubFun() { | |
println("MyValOne only also has SubFun for SubTwo.") | |
} | |
} | |
} | |
override abstract fun BigFun() | |
abstract fun SubFun() | |
} | |
MyValTwo { | |
override enum class InsideWeFind { SubThree; SubFour; } | |
override fun BigFun() { | |
println("MyValTwo only has one BigFun for all.") | |
} | |
} | |
open enum class InsideWeFind { NoSub; } | |
abstract fun BigFun() | |
} | |
inline fun Something(body: MyEnum.() -> Unit) { } | |
fun Test() { | |
Something { | |
MyEnum.MyValOne.InsideWeFind.SubOne.BigFun //MyValOne only has one BigFun for SubOne. | |
MyEnum.MyValOne.InsideWeFind.SubOne.SubFun //MyValOne only also has SubFun for SubOne. | |
MyEnum.MyValOne.InsideWeFind.SubTwo.BigFun //MyValOne only has one BigFun for SubTwo. | |
MyEnum.MyValOne.InsideWeFind.SubTwo.SubFun //MyValOne only also has SubFun for SubTwo. | |
MyEnum.MyValTwo.InsideWeFind.SubThree.BigFun //MyValTwo only has one BigFun for all (same as below). | |
MyEnum.MyValTwo.InsideWeFind.SubFour.BigFun //MyValTwo only has one BigFun for all (same as above). | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum class MyEnum { | |
MyValOne { | |
override enum class InsideWeFind { SubOne; SubTwo; } | |
} | |
MyValTwo { | |
override enum class InsideWeFind { SubThree; SubFour; } | |
} | |
virtual enum class InsideWeFind { NoSub; } | |
} | |
inline fun Something(body: MyEnum.() -> Unit) { } | |
fun Test() { | |
Something { | |
MyEnum.MyValOne.InsideWeFind.SubOne | |
MyEnum.MyValOne.InsideWeFind.SubTwo | |
MyEnum.MyValTwo.InsideWeFind.SubThree | |
MyEnum.MyValTwo.InsideWeFind.SubFour | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
org.jetbrains.jet.codegen.CompilationException: Back-end (JVM) Internal error: null | |
Cause: java.lang.NullPointerException | |
File being compiled and position: (45,45) in /Users/ian/src/sushi/examples/EnumOverride.kt | |
The root cause was thrown at: StackValue.java:1238 | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:248) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:220) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitDotQualifiedExpression(ExpressionCodegen.java:2402) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitDotQualifiedExpression(ExpressionCodegen.java:78) | |
at org.jetbrains.jet.lang.psi.JetDotQualifiedExpression.accept(JetDotQualifiedExpression.java:34) | |
at org.jetbrains.jet.codegen.CodegenStatementVisitor.visitJetElement(CodegenStatementVisitor.java:30) | |
at org.jetbrains.jet.codegen.CodegenStatementVisitor.visitJetElement(CodegenStatementVisitor.java:21) | |
at org.jetbrains.jet.lang.psi.JetVisitor.visitExpression(JetVisitor.java:145) | |
at org.jetbrains.jet.lang.psi.JetVisitor.visitQualifiedExpression(JetVisitor.java:245) | |
at org.jetbrains.jet.lang.psi.JetVisitor.visitDotQualifiedExpression(JetVisitor.java:253) | |
at org.jetbrains.jet.lang.psi.JetDotQualifiedExpression.accept(JetDotQualifiedExpression.java:34) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:238) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genStatement(ExpressionCodegen.java:267) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.generateBlock(ExpressionCodegen.java:1376) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitBlockExpression(ExpressionCodegen.java:1222) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitBlockExpression(ExpressionCodegen.java:78) | |
at org.jetbrains.jet.lang.psi.JetBlockExpression.accept(JetBlockExpression.java:47) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:238) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:220) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:254) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.returnExpression(ExpressionCodegen.java:1502) | |
at org.jetbrains.jet.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:211) | |
at org.jetbrains.jet.codegen.FunctionCodegen.generateMethodHeaderAndBody(FunctionCodegen.java:148) | |
at org.jetbrains.jet.codegen.FunctionCodegen.generateMethod(FunctionCodegen.java:104) | |
at org.jetbrains.jet.codegen.ClosureCodegen.generateBody(ClosureCodegen.java:141) | |
at org.jetbrains.jet.codegen.ClosureCodegen.gen(ClosureCodegen.java:98) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genClosure(ExpressionCodegen.java:1260) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitFunctionLiteralExpression(ExpressionCodegen.java:1249) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitFunctionLiteralExpression(ExpressionCodegen.java:78) | |
at org.jetbrains.jet.lang.psi.JetFunctionLiteralExpression.accept(JetFunctionLiteralExpression.java:39) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:238) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:220) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:254) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:258) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.pushMethodArguments(ExpressionCodegen.java:2291) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2104) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.invokeFunction(ExpressionCodegen.java:1958) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitCallExpression(ExpressionCodegen.java:1889) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitCallExpression(ExpressionCodegen.java:78) | |
at org.jetbrains.jet.lang.psi.JetCallExpression.accept(JetCallExpression.java:59) | |
at org.jetbrains.jet.codegen.CodegenStatementVisitor.visitJetElement(CodegenStatementVisitor.java:30) | |
at org.jetbrains.jet.codegen.CodegenStatementVisitor.visitJetElement(CodegenStatementVisitor.java:21) | |
at org.jetbrains.jet.lang.psi.JetVisitor.visitExpression(JetVisitor.java:145) | |
at org.jetbrains.jet.lang.psi.JetVisitor.visitCallExpression(JetVisitor.java:237) | |
at org.jetbrains.jet.lang.psi.JetCallExpression.accept(JetCallExpression.java:59) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:238) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genStatement(ExpressionCodegen.java:267) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.generateBlock(ExpressionCodegen.java:1376) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitBlockExpression(ExpressionCodegen.java:1222) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitBlockExpression(ExpressionCodegen.java:78) | |
at org.jetbrains.jet.lang.psi.JetBlockExpression.accept(JetBlockExpression.java:47) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:238) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:220) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:254) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.returnExpression(ExpressionCodegen.java:1502) | |
at org.jetbrains.jet.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:211) | |
at org.jetbrains.jet.codegen.FunctionCodegen.generateMethodHeaderAndBody(FunctionCodegen.java:148) | |
at org.jetbrains.jet.codegen.FunctionCodegen.generateMethod(FunctionCodegen.java:104) | |
at org.jetbrains.jet.codegen.FunctionCodegen.gen(FunctionCodegen.java:79) | |
at org.jetbrains.jet.codegen.MemberCodegen.genFunctionOrProperty(MemberCodegen.java:46) | |
at org.jetbrains.jet.codegen.NamespaceCodegen.generate(NamespaceCodegen.java:153) | |
at org.jetbrains.jet.codegen.NamespaceCodegen.generate(NamespaceCodegen.java:96) | |
at org.jetbrains.jet.codegen.KotlinCodegenFacade.generateNamespace(KotlinCodegenFacade.java:73) | |
at org.jetbrains.jet.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:62) | |
at org.jetbrains.jet.plugin.internal.codewindow.BytecodeToolwindow$UpdateBytecodeToolWindowTask.processRequest(BytecodeToolwindow.java:96) | |
at org.jetbrains.jet.plugin.internal.codewindow.BytecodeToolwindow$UpdateBytecodeToolWindowTask.processRequest(BytecodeToolwindow.java:58) | |
at org.jetbrains.jet.plugin.util.LongRunningReadTask$1$1.run(LongRunningReadTask.java:110) | |
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:935) | |
at org.jetbrains.jet.plugin.util.LongRunningReadTask$3.run(LongRunningReadTask.java:219) | |
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:191) | |
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232) | |
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181) | |
at org.jetbrains.jet.plugin.util.LongRunningReadTask.runWithWriteActionPriority(LongRunningReadTask.java:216) | |
at org.jetbrains.jet.plugin.util.LongRunningReadTask$1.run(LongRunningReadTask.java:105) | |
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:465) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) | |
at java.lang.Thread.run(Thread.java:680) | |
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:153) | |
Caused by: java.lang.NullPointerException | |
at org.jetbrains.jet.codegen.StackValue$CallReceiver.calcType(StackValue.java:1238) | |
at org.jetbrains.jet.codegen.StackValue$CallReceiver.<init>(StackValue.java:1205) | |
at org.jetbrains.jet.codegen.StackValue.receiver(StackValue.java:328) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitSimpleNameExpression(ExpressionCodegen.java:1535) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.visitSimpleNameExpression(ExpressionCodegen.java:78) | |
at org.jetbrains.jet.lang.psi.JetSimpleNameExpression.accept(JetSimpleNameExpression.java:132) | |
at org.jetbrains.jet.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:238) | |
... 81 more |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ================_DefaultPackage.class ================= | |
// class version 50.0 (50) | |
// access flags 0x11 | |
public final class _DefaultPackage { | |
// compiled from: EnumOverride.kt | |
@Ljet/runtime/typeinfo/JetPackageClass;(abiVersion=4) | |
// access flags 0x19 | |
// signature (Ljet/ExtensionFunction0<-LMyEnum;+Ljet/Unit;>;)V | |
// declaration: void Something(jet.ExtensionFunction0<? super MyEnum, ? extends jet.Unit>) | |
public final static Something(Ljet/ExtensionFunction0;)V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
@Ljet/runtime/typeinfo/JetValueParameter;(name="body", type="Ljet/ExtensionFunction0<LMyEnum;Ljet/Unit;>;") // parameter 0 | |
L0 | |
L1 | |
LINENUMBER 1 L1 | |
ALOAD 0 | |
INVOKESTATIC _DefaultPackage$src$EnumOverride$-2023223013.Something (Ljet/ExtensionFunction0;)V | |
RETURN | |
L2 | |
LOCALVARIABLE body Ljet/ExtensionFunction0; L0 L2 0 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x19 | |
public final static Test()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
L0 | |
L1 | |
LINENUMBER 1 L1 | |
INVOKESTATIC _DefaultPackage$src$EnumOverride$-2023223013.Test ()V | |
RETURN | |
L2 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
} | |
// ================MyEnum.class ================= | |
// class version 50.0 (50) | |
// access flags 0x4421 | |
// signature Ljava/lang/Enum<LMyEnum;>; | |
// declaration: MyEnum extends java.lang.Enum<MyEnum> | |
public abstract enum MyEnum extends java/lang/Enum implements jet/JetObject { | |
// compiled from: EnumOverride.kt | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne MyEnum MyValOne | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValTwo MyEnum MyValTwo | |
@Ljet/runtime/typeinfo/JetClass;(signature="Ljava/lang/Enum<LMyEnum;>;", flags=16, abiVersion=4) | |
// access flags 0x4019 | |
public final static enum LMyEnum; MyValOne | |
// access flags 0x4019 | |
public final static enum LMyEnum; MyValTwo | |
// access flags 0x401 | |
public abstract BigFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
// access flags 0x4 | |
// signature ()V | |
// declaration: void <init>() | |
protected <init>(Ljava/lang/String;I)V | |
@Ljet/runtime/typeinfo/JetConstructor;(flags=8) | |
ALOAD 0 | |
ALOAD 1 | |
ILOAD 2 | |
INVOKESPECIAL java/lang/Enum.<init> (Ljava/lang/String;I)V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static values()[LMyEnum; | |
GETSTATIC MyEnum.$VALUES : [LMyEnum; | |
INVOKEVIRTUAL [LMyEnum;.clone ()Ljava/lang/Object; | |
CHECKCAST [LMyEnum; | |
ARETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static valueOf(Ljava/lang/String;)LMyEnum; | |
LDC LMyEnum;.class | |
ALOAD 0 | |
INVOKESTATIC java/lang/Enum.valueOf (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; | |
CHECKCAST MyEnum | |
ARETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static <clinit>()V | |
ICONST_2 | |
ANEWARRAY MyEnum | |
DUP | |
DUP | |
ICONST_0 | |
NEW MyEnum$MyValOne | |
DUP | |
LDC "MyValOne" | |
ICONST_0 | |
INVOKESPECIAL MyEnum$MyValOne.<init> (Ljava/lang/String;I)V | |
DUP | |
PUTSTATIC MyEnum.MyValOne : LMyEnum; | |
AASTORE | |
DUP | |
ICONST_1 | |
NEW MyEnum$MyValTwo | |
DUP | |
LDC "MyValTwo" | |
ICONST_1 | |
INVOKESPECIAL MyEnum$MyValTwo.<init> (Ljava/lang/String;I)V | |
DUP | |
PUTSTATIC MyEnum.MyValTwo : LMyEnum; | |
AASTORE | |
PUTSTATIC MyEnum.$VALUES : [LMyEnum; | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x101A | |
private final static [LMyEnum; $VALUES | |
} | |
// ================MyEnum$MyValOne.class ================= | |
// class version 50.0 (50) | |
// access flags 0x30 | |
final class MyEnum$MyValOne extends MyEnum implements jet/JetObject { | |
// compiled from: EnumOverride.kt | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne MyEnum MyValOne | |
// access flags 0x4019 | |
public final static enum INNERCLASS MyEnum$MyValOne$InsideWeFind MyEnum$MyValOne InsideWeFind | |
@Ljet/runtime/typeinfo/JetClass;(signature="LMyEnum;", flags=8, abiVersion=4) | |
// access flags 0x401 | |
public abstract BigFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
// access flags 0x401 | |
public abstract SubFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
// access flags 0x0 | |
// signature ()V | |
// declaration: void <init>() | |
<init>(Ljava/lang/String;I)V | |
@Ljet/runtime/typeinfo/JetConstructor;(flags=8) | |
ALOAD 0 | |
ALOAD 1 | |
ILOAD 2 | |
INVOKESPECIAL MyEnum.<init> (Ljava/lang/String;I)V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
} | |
// ================MyEnum$MyValOne$InsideWeFind.class ================= | |
// class version 50.0 (50) | |
// access flags 0x4021 | |
// signature Ljava/lang/Enum<LMyEnum$MyValOne$InsideWeFind;>; | |
// declaration: MyEnum$MyValOne$InsideWeFind extends java.lang.Enum<MyEnum$MyValOne$InsideWeFind> | |
public enum MyEnum$MyValOne$InsideWeFind extends java/lang/Enum implements jet/JetObject { | |
// compiled from: EnumOverride.kt | |
// access flags 0x4019 | |
public final static enum INNERCLASS MyEnum$MyValOne$InsideWeFind MyEnum$MyValOne InsideWeFind | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne MyEnum MyValOne | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne$InsideWeFind$SubOne MyEnum$MyValOne$InsideWeFind SubOne | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne$InsideWeFind$SubTwo MyEnum$MyValOne$InsideWeFind SubTwo | |
@Ljet/runtime/typeinfo/JetClass;(signature="Ljava/lang/Enum<LMyEnum$MyValOne$InsideWeFind;>;", flags=16, abiVersion=4) | |
// access flags 0x4019 | |
public final static enum LMyEnum$MyValOne$InsideWeFind; SubOne | |
// access flags 0x4019 | |
public final static enum LMyEnum$MyValOne$InsideWeFind; SubTwo | |
// access flags 0x4 | |
// signature ()V | |
// declaration: void <init>() | |
protected <init>(Ljava/lang/String;I)V | |
@Ljet/runtime/typeinfo/JetConstructor;(flags=8) | |
ALOAD 0 | |
ALOAD 1 | |
ILOAD 2 | |
INVOKESPECIAL java/lang/Enum.<init> (Ljava/lang/String;I)V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static values()[LMyEnum$MyValOne$InsideWeFind; | |
GETSTATIC MyEnum$MyValOne$InsideWeFind.$VALUES : [LMyEnum$MyValOne$InsideWeFind; | |
INVOKEVIRTUAL [LMyEnum$MyValOne$InsideWeFind;.clone ()Ljava/lang/Object; | |
CHECKCAST [LMyEnum$MyValOne$InsideWeFind; | |
ARETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static valueOf(Ljava/lang/String;)LMyEnum$MyValOne$InsideWeFind; | |
LDC LMyEnum$MyValOne$InsideWeFind;.class | |
ALOAD 0 | |
INVOKESTATIC java/lang/Enum.valueOf (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; | |
CHECKCAST MyEnum$MyValOne$InsideWeFind | |
ARETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static <clinit>()V | |
ICONST_2 | |
ANEWARRAY MyEnum$MyValOne$InsideWeFind | |
DUP | |
DUP | |
ICONST_0 | |
NEW MyEnum$MyValOne$InsideWeFind$SubOne | |
DUP | |
LDC "SubOne" | |
ICONST_0 | |
INVOKESPECIAL MyEnum$MyValOne$InsideWeFind$SubOne.<init> (Ljava/lang/String;I)V | |
DUP | |
PUTSTATIC MyEnum$MyValOne$InsideWeFind.SubOne : LMyEnum$MyValOne$InsideWeFind; | |
AASTORE | |
DUP | |
ICONST_1 | |
NEW MyEnum$MyValOne$InsideWeFind$SubTwo | |
DUP | |
LDC "SubTwo" | |
ICONST_1 | |
INVOKESPECIAL MyEnum$MyValOne$InsideWeFind$SubTwo.<init> (Ljava/lang/String;I)V | |
DUP | |
PUTSTATIC MyEnum$MyValOne$InsideWeFind.SubTwo : LMyEnum$MyValOne$InsideWeFind; | |
AASTORE | |
PUTSTATIC MyEnum$MyValOne$InsideWeFind.$VALUES : [LMyEnum$MyValOne$InsideWeFind; | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x101A | |
private final static [LMyEnum$MyValOne$InsideWeFind; $VALUES | |
} | |
// ================MyEnum$MyValOne$InsideWeFind$SubOne.class ================= | |
// class version 50.0 (50) | |
// access flags 0x30 | |
final class MyEnum$MyValOne$InsideWeFind$SubOne extends MyEnum$MyValOne$InsideWeFind implements jet/JetObject { | |
// compiled from: EnumOverride.kt | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne$InsideWeFind$SubOne MyEnum$MyValOne$InsideWeFind SubOne | |
// access flags 0x4019 | |
public final static enum INNERCLASS MyEnum$MyValOne$InsideWeFind MyEnum$MyValOne InsideWeFind | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne MyEnum MyValOne | |
@Ljet/runtime/typeinfo/JetClass;(signature="LMyEnum$MyValOne$InsideWeFind;", flags=8, abiVersion=4) | |
// access flags 0x1 | |
public BigFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
L0 | |
L1 | |
LINENUMBER 6 L1 | |
LDC "MyValOne only has one BigFun for SubOne." | |
INVOKESTATIC kotlin/io/IoPackage.println (Ljava/lang/Object;)V | |
L2 | |
RETURN | |
L3 | |
LOCALVARIABLE this LMyEnum$MyValOne$InsideWeFind$SubOne; L0 L3 0 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x1 | |
public SubFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
L0 | |
L1 | |
LINENUMBER 10 L1 | |
LDC "MyValOne only also has SubFun for SubOne." | |
INVOKESTATIC kotlin/io/IoPackage.println (Ljava/lang/Object;)V | |
L2 | |
RETURN | |
L3 | |
LOCALVARIABLE this LMyEnum$MyValOne$InsideWeFind$SubOne; L0 L3 0 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x0 | |
// signature ()V | |
// declaration: void <init>() | |
<init>(Ljava/lang/String;I)V | |
@Ljet/runtime/typeinfo/JetConstructor;(flags=8) | |
ALOAD 0 | |
ALOAD 1 | |
ILOAD 2 | |
INVOKESPECIAL MyEnum$MyValOne$InsideWeFind.<init> (Ljava/lang/String;I)V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
} | |
// ================MyEnum$MyValOne$InsideWeFind$SubTwo.class ================= | |
// class version 50.0 (50) | |
// access flags 0x30 | |
final class MyEnum$MyValOne$InsideWeFind$SubTwo extends MyEnum$MyValOne$InsideWeFind implements jet/JetObject { | |
// compiled from: EnumOverride.kt | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne$InsideWeFind$SubTwo MyEnum$MyValOne$InsideWeFind SubTwo | |
// access flags 0x4019 | |
public final static enum INNERCLASS MyEnum$MyValOne$InsideWeFind MyEnum$MyValOne InsideWeFind | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValOne MyEnum MyValOne | |
@Ljet/runtime/typeinfo/JetClass;(signature="LMyEnum$MyValOne$InsideWeFind;", flags=8, abiVersion=4) | |
// access flags 0x1 | |
public BigFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
L0 | |
L1 | |
LINENUMBER 16 L1 | |
LDC "MyValOne only has one BigFun for SubTwo." | |
INVOKESTATIC kotlin/io/IoPackage.println (Ljava/lang/Object;)V | |
L2 | |
RETURN | |
L3 | |
LOCALVARIABLE this LMyEnum$MyValOne$InsideWeFind$SubTwo; L0 L3 0 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x1 | |
public SubFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
L0 | |
L1 | |
LINENUMBER 20 L1 | |
LDC "MyValOne only also has SubFun for SubTwo." | |
INVOKESTATIC kotlin/io/IoPackage.println (Ljava/lang/Object;)V | |
L2 | |
RETURN | |
L3 | |
LOCALVARIABLE this LMyEnum$MyValOne$InsideWeFind$SubTwo; L0 L3 0 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x0 | |
// signature ()V | |
// declaration: void <init>() | |
<init>(Ljava/lang/String;I)V | |
@Ljet/runtime/typeinfo/JetConstructor;(flags=8) | |
ALOAD 0 | |
ALOAD 1 | |
ILOAD 2 | |
INVOKESPECIAL MyEnum$MyValOne$InsideWeFind.<init> (Ljava/lang/String;I)V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
} | |
// ================MyEnum$MyValTwo.class ================= | |
// class version 50.0 (50) | |
// access flags 0x30 | |
final class MyEnum$MyValTwo extends MyEnum implements jet/JetObject { | |
// compiled from: EnumOverride.kt | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValTwo MyEnum MyValTwo | |
// access flags 0x4019 | |
public final static enum INNERCLASS MyEnum$MyValTwo$InsideWeFind MyEnum$MyValTwo InsideWeFind | |
@Ljet/runtime/typeinfo/JetClass;(signature="LMyEnum;", flags=8, abiVersion=4) | |
// access flags 0x1 | |
public BigFun()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
L0 | |
L1 | |
LINENUMBER 34 L1 | |
LDC "MyValTwo only has one BigFun for all." | |
INVOKESTATIC kotlin/io/IoPackage.println (Ljava/lang/Object;)V | |
L2 | |
RETURN | |
L3 | |
LOCALVARIABLE this LMyEnum$MyValTwo; L0 L3 0 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x0 | |
// signature ()V | |
// declaration: void <init>() | |
<init>(Ljava/lang/String;I)V | |
@Ljet/runtime/typeinfo/JetConstructor;(flags=8) | |
ALOAD 0 | |
ALOAD 1 | |
ILOAD 2 | |
INVOKESPECIAL MyEnum.<init> (Ljava/lang/String;I)V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
} | |
// ================MyEnum$MyValTwo$InsideWeFind.class ================= | |
// class version 50.0 (50) | |
// access flags 0x4031 | |
// signature Ljava/lang/Enum<LMyEnum$MyValTwo$InsideWeFind;>; | |
// declaration: MyEnum$MyValTwo$InsideWeFind extends java.lang.Enum<MyEnum$MyValTwo$InsideWeFind> | |
public final enum MyEnum$MyValTwo$InsideWeFind extends java/lang/Enum implements jet/JetObject { | |
// compiled from: EnumOverride.kt | |
// access flags 0x4019 | |
public final static enum INNERCLASS MyEnum$MyValTwo$InsideWeFind MyEnum$MyValTwo InsideWeFind | |
// access flags 0x18 | |
final static INNERCLASS MyEnum$MyValTwo MyEnum MyValTwo | |
@Ljet/runtime/typeinfo/JetClass;(signature="Ljava/lang/Enum<LMyEnum$MyValTwo$InsideWeFind;>;", flags=16, abiVersion=4) | |
// access flags 0x4019 | |
public final static enum LMyEnum$MyValTwo$InsideWeFind; SubThree | |
// access flags 0x4019 | |
public final static enum LMyEnum$MyValTwo$InsideWeFind; SubFour | |
// access flags 0x4 | |
// signature ()V | |
// declaration: void <init>() | |
protected <init>(Ljava/lang/String;I)V | |
@Ljet/runtime/typeinfo/JetConstructor;(flags=8) | |
ALOAD 0 | |
ALOAD 1 | |
ILOAD 2 | |
INVOKESPECIAL java/lang/Enum.<init> (Ljava/lang/String;I)V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static values()[LMyEnum$MyValTwo$InsideWeFind; | |
GETSTATIC MyEnum$MyValTwo$InsideWeFind.$VALUES : [LMyEnum$MyValTwo$InsideWeFind; | |
INVOKEVIRTUAL [LMyEnum$MyValTwo$InsideWeFind;.clone ()Ljava/lang/Object; | |
CHECKCAST [LMyEnum$MyValTwo$InsideWeFind; | |
ARETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static valueOf(Ljava/lang/String;)LMyEnum$MyValTwo$InsideWeFind; | |
LDC LMyEnum$MyValTwo$InsideWeFind;.class | |
ALOAD 0 | |
INVOKESTATIC java/lang/Enum.valueOf (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; | |
CHECKCAST MyEnum$MyValTwo$InsideWeFind | |
ARETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x9 | |
public static <clinit>()V | |
ICONST_2 | |
ANEWARRAY MyEnum$MyValTwo$InsideWeFind | |
DUP | |
DUP | |
ICONST_0 | |
NEW MyEnum$MyValTwo$InsideWeFind | |
DUP | |
LDC "SubThree" | |
ICONST_0 | |
INVOKESPECIAL MyEnum$MyValTwo$InsideWeFind.<init> (Ljava/lang/String;I)V | |
DUP | |
PUTSTATIC MyEnum$MyValTwo$InsideWeFind.SubThree : LMyEnum$MyValTwo$InsideWeFind; | |
AASTORE | |
DUP | |
ICONST_1 | |
NEW MyEnum$MyValTwo$InsideWeFind | |
DUP | |
LDC "SubFour" | |
ICONST_1 | |
INVOKESPECIAL MyEnum$MyValTwo$InsideWeFind.<init> (Ljava/lang/String;I)V | |
DUP | |
PUTSTATIC MyEnum$MyValTwo$InsideWeFind.SubFour : LMyEnum$MyValTwo$InsideWeFind; | |
AASTORE | |
PUTSTATIC MyEnum$MyValTwo$InsideWeFind.$VALUES : [LMyEnum$MyValTwo$InsideWeFind; | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x101A | |
private final static [LMyEnum$MyValTwo$InsideWeFind; $VALUES | |
} | |
// ================_DefaultPackage$src$EnumOverride$-2023223013.class ================= | |
// class version 50.0 (50) | |
// access flags 0x11 | |
public final class _DefaultPackage$src$EnumOverride$-2023223013 { | |
// compiled from: EnumOverride.kt | |
// access flags 0x19 | |
// signature (Ljet/ExtensionFunction0<-LMyEnum;+Ljet/Unit;>;)V | |
// declaration: void Something(jet.ExtensionFunction0<? super MyEnum, ? extends jet.Unit>) | |
public final static Something(Ljet/ExtensionFunction0;)V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
@Ljet/runtime/typeinfo/JetValueParameter;(name="body", type="Ljet/ExtensionFunction0<LMyEnum;Ljet/Unit;>;") // parameter 0 | |
L0 | |
ALOAD 0 | |
LDC "Something" | |
INVOKESTATIC jet/runtime/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V | |
L1 | |
RETURN | |
L2 | |
LOCALVARIABLE body Ljet/ExtensionFunction0; L0 L2 0 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x19 | |
public final static Test()V | |
@Ljet/runtime/typeinfo/JetMethod;(flags=16, returnType="V") | |
L0 | |
L1 | |
LINENUMBER 44 L1 | |
GETSTATIC _DefaultPackage$Test$1.instance$ : L_DefaultPackage$Test$1; | |
CHECKCAST jet/ExtensionFunction0 | |
INVOKESTATIC _DefaultPackage$src$EnumOverride$-2023223013.Something (Ljet/ExtensionFunction0;)V | |
L2 | |
RETURN | |
L3 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
} | |
// ================_DefaultPackage$Test$1.class ================= | |
// class version 50.0 (50) | |
// access flags 0x11 | |
public final class _DefaultPackage$Test$1 extends jet/ExtensionFunction0 { | |
// compiled from: EnumOverride.kt | |
// access flags 0x41 | |
public volatile bridge invoke(Ljava/lang/Object;)Ljava/lang/Object; | |
ALOAD 0 | |
ALOAD 1 | |
CHECKCAST MyEnum | |
INVOKEVIRTUAL _DefaultPackage$Test$1.invoke (LMyEnum;)V | |
GETSTATIC jet/Unit.VALUE : Ljet/Unit; | |
ARETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x10 | |
final invoke(LMyEnum;)V | |
L0 | |
L1 | |
RETURN | |
L2 | |
LOCALVARIABLE this L_DefaultPackage$Test$1; L0 L2 0 | |
LOCALVARIABLE $receiver LMyEnum; L0 L2 1 | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x1 | |
public <init>()V | |
ALOAD 0 | |
INVOKESPECIAL jet/ExtensionFunction0.<init> ()V | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x1009 | |
public static <clinit>()V | |
NEW _DefaultPackage$Test$1 | |
DUP | |
INVOKESPECIAL _DefaultPackage$Test$1.<init> ()V | |
PUTSTATIC _DefaultPackage$Test$1.instance$ : L_DefaultPackage$Test$1; | |
RETURN | |
MAXSTACK = -1 | |
MAXLOCALS = -1 | |
// access flags 0x19 | |
public final static L_DefaultPackage$Test$1; instance$ | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment