You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following code snippet causes a NullPointerException.
objectAextends lisa.Main{
valf= x === x
valx= variable
}
objectCextends lisa.Main {
A.x
}
This is due to the fact that x is declared after f. In more substantial pieces of code, this is not always obvious to spot, especially when objects start to be nested and variables imported from other files. In those cases, we may want to hint the user that the variable has not been declared yet.
The text was updated successfully, but these errors were encountered:
I'm not sure if there is a good solution to this. Initialization of objects is generally out of our hands.
We can (and did) use the compiler option to ensure good initialization orders, but it makes compilation much slower, and for larger proofs, fails and prints very very long warnings.
So a while ago, we disabled the option again (I forget what it's called) :/
If you know of a better solution, we can look at it.
The following code snippet causes a
NullPointerException
.This is due to the fact that
x
is declared afterf
. In more substantial pieces of code, this is not always obvious to spot, especially when objects start to be nested and variables imported from other files. In those cases, we may want to hint the user that the variable has not been declared yet.The text was updated successfully, but these errors were encountered: