Merge "Make layoutlib load on Java 7 VM"
This commit is contained in:
committed by
Android (Google) Code Review
commit
6e5e160f19
@@ -4,6 +4,6 @@
|
||||
<classpathentry excluding="mock_data/" kind="src" path="tests"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
|
||||
<classpathentry kind="var" path="ANDROID_SRC/prebuilts/tools/common/asm-tools/asm-4.0.jar" sourcepath="/ANDROID_PLAT/prebuilts/tools/common/asm-tools/src-4.0.zip"/>
|
||||
<classpathentry kind="var" path="ANDROID_PLAT_SRC/prebuilts/misc/common/asm/asm-4.0.jar" sourcepath="/ANDROID_PLAT_SRC/prebuilts/misc/common/asm/src.zip"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
@@ -177,6 +177,17 @@ public abstract class AbstractClassAdapter extends ClassVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
/* Java 7 verifies the StackMapTable of a class if its version number is greater than 50.0.
|
||||
* However, the check is disabled if the class version number is 50.0 or less. Generation
|
||||
* of the StackMapTable requires a rewrite using the tree API of ASM. As a workaround,
|
||||
* we rewrite the version number of the class to be 50.0
|
||||
*
|
||||
* http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6693236
|
||||
*/
|
||||
if (version > 50) {
|
||||
version = 50;
|
||||
}
|
||||
|
||||
super.visit(version, access, name, signature, superName, interfaces);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user