Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjrellerme2009-02-26 12:17:03 +0000
committerjrellerme2009-02-26 12:17:03 +0000
commitf5d59121b03ee0dc2d74804961400d67b132cd61 (patch)
tree90faed6c5456ed8566916e8050a16c1f3cd07ad5
parent1b93ffb2bfb6c9010ea05135bd7b76c441495250 (diff)
downloadorg.eclipse.ecf-f5d59121b03ee0dc2d74804961400d67b132cd61.tar.gz
org.eclipse.ecf-f5d59121b03ee0dc2d74804961400d67b132cd61.tar.xz
org.eclipse.ecf-f5d59121b03ee0dc2d74804961400d67b132cd61.zip
fix for #255305
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/META-INF/MANIFEST.MF2
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ProxyGenerator.java37
2 files changed, 16 insertions, 23 deletions
diff --git a/protocols/bundles/ch.ethz.iks.r_osgi.remote/META-INF/MANIFEST.MF b/protocols/bundles/ch.ethz.iks.r_osgi.remote/META-INF/MANIFEST.MF
index 37e8f5301..dcf2345e3 100644
--- a/protocols/bundles/ch.ethz.iks.r_osgi.remote/META-INF/MANIFEST.MF
+++ b/protocols/bundles/ch.ethz.iks.r_osgi.remote/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: %plugin.name
Bundle-SymbolicName: ch.ethz.iks.r_osgi.remote
Bundle-Version: 1.0.0.RC4_qualifier
Bundle-Vendor: %plugin.provider
-Import-Package: org.objectweb.asm;version="3.0.0",
+Import-Package: org.objectweb.asm;version="3.1.0",
org.osgi.framework,
org.osgi.service.event,
org.osgi.service.log,
diff --git a/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ProxyGenerator.java b/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ProxyGenerator.java
index e8680b3cb..6662ddd57 100644
--- a/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ProxyGenerator.java
+++ b/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ProxyGenerator.java
@@ -439,11 +439,12 @@ class ProxyGenerator implements ClassVisitor, Opcodes {
ifaces.add("org/osgi/framework/BundleActivator"); //$NON-NLS-1$
ifaces.addAll(Arrays.asList(serviceInterfaces));
// V1_1
- writer.visit(
- (version >= V1_5 && RemoteOSGiServiceImpl.IS_JAVA5) ? V1_5
- : V1_2, ACC_PUBLIC + ACC_SUPER, implName, null,
- superName, (String[]) ifaces.toArray(new String[ifaces
- .size()]));
+ writer
+ .visit(
+ (version >= V1_5 && RemoteOSGiServiceImpl.IS_JAVA5) ? V1_5
+ : V1_2, ACC_PUBLIC + ACC_SUPER,
+ implName, null, superName, (String[]) ifaces
+ .toArray(new String[ifaces.size()]));
if (java.util.Arrays.asList(interfaces).contains(
"ch/ethz/iks/r_osgi/SmartProxy")) { //$NON-NLS-1$
@@ -453,10 +454,12 @@ class ProxyGenerator implements ClassVisitor, Opcodes {
} else {
// we have an interface
- writer.visit(
- (version >= V1_5 && RemoteOSGiServiceImpl.IS_JAVA5) ? V1_5
- : V1_2, ACC_PUBLIC + ACC_SUPER, implName, null,
- "java/lang/Object", serviceInterfaces); //$NON-NLS-1$
+ writer
+ .visit(
+ (version >= V1_5 && RemoteOSGiServiceImpl.IS_JAVA5) ? V1_5
+ : V1_2, ACC_PUBLIC + ACC_SUPER,
+ implName, null,
+ "java/lang/Object", serviceInterfaces); //$NON-NLS-1$
if (RemoteOSGiServiceImpl.PROXY_DEBUG) {
RemoteOSGiServiceImpl.log.log(LogService.LOG_DEBUG,
"Creating Proxy Bundle from Interfaces " //$NON-NLS-1$
@@ -863,23 +866,13 @@ class ProxyGenerator implements ClassVisitor, Opcodes {
method.visitInsn(returnType.getOpcode(IRETURN));
break;
case Type.ARRAY:
-
final StringBuffer a = new StringBuffer();
- final int esort = returnType.getElementType().getSort();
- if (esort < Type.ARRAY) {
- for (int i = 0; i < returnType.getDimensions(); i++) {
- a.append("["); //$NON-NLS-1$
- }
- // primitive array
- method.visitTypeInsn(CHECKCAST, a.toString()
- + returnType.getElementType().toString());
- } else {
- // object array
+ for (int i = 0; i < returnType.getDimensions(); i++) {
a.append("["); //$NON-NLS-1$
- method.visitTypeInsn(CHECKCAST, a.toString()
- + returnType.getInternalName() + ";"); //$NON-NLS-1$
}
+ method.visitTypeInsn(CHECKCAST, a.toString()
+ + returnType.getElementType().toString());
method.visitInsn(ARETURN);
break;
default:

Back to the top