Author: cziegeler
Date: Fri Nov 30 10:35:58 2012
New Revision: 1415579
URL: http://svn.apache.org/viewvc?rev=1415579&view=rev
Log:
FELIX-3568 : java.lang.VerifyError from bundles compiled with maven-scr-plugin
(java 7)
Modified:
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ClassModifier.java
Modified:
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ClassModifier.java
URL:
http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ClassModifier.java?rev=1415579&r1=1415578&r2=1415579&view=diff
==============================================================================
---
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ClassModifier.java
(original)
+++
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ClassModifier.java
Fri Nov 30 10:35:58 2012
@@ -65,9 +65,11 @@ public abstract class ClassModifier {
final ClassReader reader = new ClassReader(new
FileInputStream(fileName));
reader.accept(cn, 0);
- // TODO: ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES
- final ClassWriter writer = new ClassWriter(0) {
+ // For target Java7 and above use: ClassWriter.COMPUTE_MAXS |
ClassWriter.COMPUTE_FRAMES
+ final int mask = (cn.version > 50 ? ClassWriter.COMPUTE_MAXS |
ClassWriter.COMPUTE_FRAMES : 0);
+ final ClassWriter writer = new ClassWriter(mask) {
+ @Override
protected String getCommonSuperClass(final String type1, final
String type2) {
Class<?> c, d;
try {