소스 검색

the default major version of newly-created class files is either JDK 1.3 or 1.5, which depends on the VM version.


git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@402 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
tags/rel_3_17_1_ga
chiba 17 년 전
부모
커밋
2f7efd8620
2개의 변경된 파일16개의 추가작업 그리고 4개의 파일을 삭제
  1. 11
    2
      src/main/javassist/bytecode/ClassFile.java
  2. 5
    2
      src/main/javassist/bytecode/LocalVariableAttribute.java

+ 11
- 2
src/main/javassist/bytecode/ClassFile.java 파일 보기

@@ -65,9 +65,18 @@ public final class ClassFile {

/**
* The major version number of class files created
* from scratch. The value is 47 (JDK 1.3).
* from scratch. The default value is 47 (JDK 1.3)
* or 49 (JDK 1.5) if the JVM supports <code>java.lang.StringBuilder</code>.
*/
public static final int MAJOR_VERSION = JAVA_3;
public static int MAJOR_VERSION = JAVA_3;

static {
try {
Class.forName("java.lang.StringBuilder");
MAJOR_VERSION = JAVA_5;
}
catch (Throwable t) {}
}

/**
* Constructs a class file from a byte stream.

+ 5
- 2
src/main/javassist/bytecode/LocalVariableAttribute.java 파일 보기

@@ -260,8 +260,11 @@ public class LocalVariableAttribute extends AttributeInfo {

ByteArray.write16bit(name, dest, j + 4);

if (type != 0)
type = cp.copy(type, newCp, null);
if (type != 0) {
String sig = cp.getUtf8Info(type);
sig = Descriptor.rename(sig, classnames);
type = newCp.addUtf8Info(sig);
}

ByteArray.write16bit(type, dest, j + 6);
ByteArray.write16bit(index, dest, j + 8);

Loading…
취소
저장