I get the following verify error:
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType$RubyRunConfigurationFactory.<init>(Lorg/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType;)V @8: invokedynamic
Reason:
Type uninitializedThis (current frame, stack[2]) is not assignable to 'org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType$RubyRunConfigurationFactory'
Current Frame:
bci: @8
flags: { flagThisUninit }
locals: { uninitializedThis, 'org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType' }
stack: { uninitializedThis, 'org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType', uninitializedThis }
Bytecode:
0x0000000: 2a2b b500 012a 2b2a ba00 0200 00b7 0003
0x0000010: b1
at org.jetbrains.plugins.ruby.ruby.run.configuration.RubyRunConfigurationType.<init>(RubyRunConfigurationType.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
when I convert anonymous class to lambda inside super constructor call in inner class. (myRubyScriptFactory - is a final field of the outer class.)
Before (works normally):
public RubyRunConfigurationFactory() {
super(RubyRunConfigurationType.this, new Function<Project, AbstractRubyRunConfiguration>() {
public AbstractRubyRunConfiguration fun(Project project) {
return new RubyRunConfiguration(project, myRubyScriptFactory);
}
});
}
After (verify error):
public RubyRunConfigurationFactory() {
super(RubyRunConfigurationType.this, project -> new RubyRunConfiguration(project, myRubyScriptFactory));
}
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType$RubyRunConfigurationFactory.<init>(Lorg/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType;)V @8: invokedynamic
Reason:
Type uninitializedThis (current frame, stack[2]) is not assignable to 'org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType$RubyRunConfigurationFactory'
Current Frame:
bci: @8
flags: { flagThisUninit }
locals: { uninitializedThis, 'org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType' }
stack: { uninitializedThis, 'org/jetbrains/plugins/ruby/ruby/run/configuration/RubyRunConfigurationType', uninitializedThis }
Bytecode:
0x0000000: 2a2b b500 012a 2b2a ba00 0200 00b7 0003
0x0000010: b1
at org.jetbrains.plugins.ruby.ruby.run.configuration.RubyRunConfigurationType.<init>(RubyRunConfigurationType.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
when I convert anonymous class to lambda inside super constructor call in inner class. (myRubyScriptFactory - is a final field of the outer class.)
Before (works normally):
public RubyRunConfigurationFactory() {
super(RubyRunConfigurationType.this, new Function<Project, AbstractRubyRunConfiguration>() {
public AbstractRubyRunConfiguration fun(Project project) {
return new RubyRunConfiguration(project, myRubyScriptFactory);
}
});
}
After (verify error):
public RubyRunConfigurationFactory() {
super(RubyRunConfigurationType.this, project -> new RubyRunConfiguration(project, myRubyScriptFactory));
}
- duplicates
-
JDK-8129740 Incorrect class file created when passing lambda in inner class constructor
-
- Closed
-
- relates to
-
JDK-8129740 Incorrect class file created when passing lambda in inner class constructor
-
- Closed
-