You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bcel-dev@jakarta.apache.org by wombat <wo...@uni.de> on 2002/09/03 17:05:22 UTC
MethodGen
Hi!
When creating a MethodGen using the
MethodGen(Method m, java.lang.String class_name, ConstantPoolGen cp)
constructor, the getArgumentNames() method always returns dummy names (arg0,
arg1 ...).
I don't understand the comment in line 169, which may give a reason for not
setting the argument names:
/* may be overridden anyway */
The following patch is not very nice, but seems to work (Probably adding
methods getArgumentNames/Types to Method is a better approach?).
===================================================================
RCS file:
/home/cvspublic/jakarta-bcel/src/java/org/apache/bcel/generic/MethodGen.java,v
retrieving revision 1.5
diff -u -r1.5 MethodGen.java
--- src/java/org/apache/bcel/generic/MethodGen.java 24 Apr 2002 08:11:30
-0000 1.5
+++ src/java/org/apache/bcel/generic/MethodGen.java 3 Sep 2002 15:02:04
-0000
@@ -247,6 +247,17 @@
} else
addAttribute(a);
}
+
+ String[] argNames = new String[getArgumentTypes().length];
+ for (int i=0; i<argNames.length; i++) {
+ if (isStatic()) {
+ argNames[i] = getLocalVariables()[i].getName();
+ } else {
+ argNames[i] = getLocalVariables()[i + 1].getName();
+ }
+ }
+ setArgumentNames(argNames);
+
}
/**
Niklas
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>