< prev index next >

src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/SerialVersionUIDAdder.java

Print this page

        

*** 232,242 **** */ @Override public void visit(final int version, final int access, final String name, final String signature, final String superName, final String[] interfaces) { ! computeSVUID = (access & Opcodes.ACC_INTERFACE) == 0; if (computeSVUID) { this.name = name; this.access = access; this.interfaces = new String[interfaces.length]; --- 232,242 ---- */ @Override public void visit(final int version, final int access, final String name, final String signature, final String superName, final String[] interfaces) { ! computeSVUID = (access & Opcodes.ACC_ENUM) == 0; if (computeSVUID) { this.name = name; this.access = access; this.interfaces = new String[interfaces.length];
*** 394,403 **** --- 394,408 ---- dos.writeUTF(name.replace('/', '.')); /* * 2. The class modifiers written as a 32-bit integer. */ + int access = this.access; + if ((access & Opcodes.ACC_INTERFACE) != 0) { + access = (svuidMethods.size() > 0) ? (access | Opcodes.ACC_ABSTRACT) + : (access & ~Opcodes.ACC_ABSTRACT); + } dos.writeInt(access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_FINAL | Opcodes.ACC_INTERFACE | Opcodes.ACC_ABSTRACT)); /*
< prev index next >