Merge "Make layoutlib load on Java 7 VM"

This commit is contained in:
Deepanshu Gupta
2014-04-08 22:47:44 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 1 deletions

View File

@@ -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>

View File

@@ -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);
}