-
Bug
-
Resolution: Fixed
-
P3
-
asm_tools_6.0
-
generic
-
generic
Jasm incorrectly processes class file versions inlined into jasm's files with more than one class:
2 classes instr_01304m1i .class, instr_01304m11n.class created from one source ( instr_01304m11n.jasm) have the same class file version:
52.0
------------------
package javasoft/sqe/tests/vm/classfmt/ins/instr_013/instr_01304m1;
public interface instr_01304m1i
version 52:0
{
public static Method m:"()V"
stack 0 locals 0
{
return;
}
}
public super class instr_01304m11n implements instr_01304m1i
/* right:
version 52:0
end right */
// wrong:
version 51:0
// end wrong
{
public Method "<init>":"()V"
stack 1 locals 1
{
aload_0;
invokespecial Method java/lang/Object."<init>":"()V";
return;
}
public static Method run:"([Ljava/lang/String;Ljava/io/PrintStream;)I"
stack 1 locals 2
{
invokestatic InterfaceMethod instr_01304m1i.m:"()V";
iconst_0;
ireturn;
}
}
------------------
2 classes instr_01304m1i .class, instr_01304m11n.class created from one source ( instr_01304m11n.jasm) have the same class file version:
52.0
------------------
package javasoft/sqe/tests/vm/classfmt/ins/instr_013/instr_01304m1;
public interface instr_01304m1i
version 52:0
{
public static Method m:"()V"
stack 0 locals 0
{
return;
}
}
public super class instr_01304m11n implements instr_01304m1i
/* right:
version 52:0
end right */
// wrong:
version 51:0
// end wrong
{
public Method "<init>":"()V"
stack 1 locals 1
{
aload_0;
invokespecial Method java/lang/Object."<init>":"()V";
return;
}
public static Method run:"([Ljava/lang/String;Ljava/io/PrintStream;)I"
stack 1 locals 2
{
invokestatic InterfaceMethod instr_01304m1i.m:"()V";
iconst_0;
ireturn;
}
}
------------------