Fixed FELIX-3576
When we compute the MethodId for constructors skip the instance manager.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1357501 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/parser/MethodMetadata.java b/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/parser/MethodMetadata.java
index 1de846a..063ae2b 100644
--- a/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/parser/MethodMetadata.java
+++ b/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/parser/MethodMetadata.java
@@ -21,6 +21,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
+import org.apache.felix.ipojo.InstanceManager;
import org.apache.felix.ipojo.metadata.Element;
/**
@@ -151,6 +152,12 @@
StringBuffer identifier = new StringBuffer("$init");
Class[] args = method.getParameterTypes();
for (int i = 0; i < args.length; i++) {
+ // If the first argument is the InstanceManager skip it
+ if (i == 0 && InstanceManager.class.equals(args[i])) {
+ // Skip it.
+ continue;
+ }
+
identifier.append('$'); // Argument separator.
if (args[i].isArray()) {
if (args[i].getComponentType().isPrimitive()) {