Skip to content

Runtime error: Bad invokespecial instruction related to super class #9341

Closed
@liufengyun

Description

@liufengyun

Minimized code

class T { def f: Int = 10 }
class B extends T {
  class C { B.super[T].f }
  new C
}

@main
def Test = new B

Output

Exception in thread "main" java.lang.VerifyError: Bad invokespecial instruction: current class isn't assignable to reference class.
Exception Details:
  Location:
    B$C.<init>(LB;)V @22: invokespecial
  Reason:
    Error exists in the bytecode
  Bytecode:
    0x0000000: 2bc7 000b bb00 0e59 b700 11bf 2a2b b500
    0x0000010: 132a b700 142a b700 1a57 b1
  Stackmap Table:
    same_frame(@12)

	at B.<init>(super2.scala:4)
	at super2$package$.Test(super2.scala:8)
	at Test.main(super2.scala:7)

Expectation

Related bug: scala/bug#10290

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions