May be the error message is misleading.
Your call to super()
is not the first statement in the constructor body. If you translate your byte code back to Java it will look something like this:
class ValueListInner extends AbstractList<Value> {
public ValueListInner(ValueList list) {
javassist_write_this_outer(list);
super();
}
private void javassist_write_this_outer(ValueList list) {
//...
}
}
This is not a valid Java code. It should probably look like this:
<init>(Lpkg/model/ValueList;)V
00000 ValueList$1 ValueList : : ALOAD 0
00001 ValueList$1 ValueList : ValueList$1 : INVOKESPECIAL java/util/AbstractList.<init> ()V
00002 ValueList$1 ValueList : : ALOAD 0
00003 ValueList$1 ValueList : ValueList$1 : ALOAD 1
00004 ValueList$1 ValueList : ValueList$1 ValueList : INVOKEVIRTUAL pkg/model/ValueList$1.$javassist_write_this$0 (Lpkg/model/ValueList;)V
00005 ValueList$1 ValueList : : RETURN