Description
class C {
static main(args) {
c =
c(1)
c(2)
}
}
produces:
Exception in thread "main" java.lang.VerifyError: (class: C$1, method: doCall signature: (Ljava/lang/Object;)Ljava/lang/Object Accessing value from uninitialized register 2
If the compiler applied the standard Java flow analysis to ensure definite assignment before use (See chapter 16 of the JLS) then the program would be rejected at compile time.