Subclasses can no longer use the nullary constructor of BasicInterpreter
70960d92 removed support for using the BasicInterpreter()
constructor:
/**
* Creates a new {@link BasicInterpreter} for the latest ASM API version. <i>Subclasses must not
* use this constructor</i>. Instead, they must use the {@link #BasicInterpreter(int)} version.
*/
public BasicInterpreter() {
super(ASM6);
if (getClass() != BasicInterpreter.class) {
throw new IllegalStateException();
}
}
This change broken some existing clients of ASM, e.g.:
Other constructors don't require an explicit api level and will default to ASM6
, e.g. ClassWriter
. Would it be possible to relax the assertion in BasicInterpreter, to avoid the breaking change?