Provide access to class name, super and interfaces without going trough ClassReader.accept()
We can add the following code into the ClassReader's constructor:
...
this.access = readUnsignedShort(index);
this.thisClassName = readClass(index + 2, c);
int v = items[readUnsignedShort(index + 4)];
this.superClassName = v == 0 ? null : readUTF8(v, c);
int interfacesCount = readUnsignedShort(index + 6);
this.implementedItfs = new String[interfacesCount];
index += 8;
for (int i = 0; i < interfacesCount; ++i) {
this.implementedItfs[i] = readClass(index, c);
index += 2;
}
but this would require to add new fields in this class...
So, need to check if this impacts performances for CR and CR+CW roundtrip (with
test/perfs tests).