Can't you use
ConstantNameAndType.getSignature(pool), and then
Type getType(String signature)




I am trying to get the type information out of of a ConstantNameAndType...

here is my code so far
String temp = pool.constantToString(((ConstantNameAndType)c).getNameIndex(), Constants.CONSTANT_Utf8)
+ " "
+ pool.constantToString(((ConstantNameAndType)c).getSignatureIndex(), Constants.CONSTANT_Utf8);
log("temp="+temp);
String temp2 = pool.constantToString(((ConstantNameAndType)c).getSignatureIndex(), Constants.CONSTANT_Utf8);
log("temp2="+temp2);
//log("temp2a="+Utility.typeOfSignature(temp2));
log("temp3="+Utility.compactClassName(temp2));


which prints the following.....
const[18]=c Lmod/dummy/DummyClass; inst=org.apache.bcel.classfile.ConstantNameAndType


temp=c Lmod/dummy/DummyClass;

temp2=Lmod/dummy/DummyClass;

temp3=Lmod.dummy.DummyClass;

I am just trying to get the mod.dummy.DummyClass string. how do I do so? If I uncomment the temp2a above it breaks because of other ConstantNameAndTypes like the following message when I uncomment temp2a above.....

const[18]=<init> ()V inst=org.apache.bcel.classfile.ConstantNameAndType

temp=<init> ()V

temp2=()V

E

Time: 2.244

There was 1 error:

1) testLocalVarDepend(net.sf.antcontrib.design.VerifyDesignTest)C:\ROOT\views\sfviews\ant-contrib2\test\resources\design\verifydesign.xml:102: org.apache.bcel.classfile.ClassFormatException: Invalid method signature: ()V

at org.apache.tools.ant.Task.perform(Task.java:373)

at org.apache.tools.ant.Target.execute(Target.java:341)

at org.apache.tools.ant.Target.performTasks(Target.java:369)

at org.apache.tools.ant.Project.executeTarget(Project.java:1214)

at org.apache.tools.ant.BuildFileTest.executeTarget(BuildFileTest.java:232)

at net.sf.antcontrib.design.VerifyDesignTest.testLocalVarDepend(VerifyDesignTest.java:116)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at net.sf.antcontrib.design.VerifyDesignTest.main(VerifyDesignTest.java:205)

Caused by: org.apache.bcel.classfile.ClassFormatException: Invalid method signature: ()V

at org.apache.bcel.classfile.Utility.typeOfSignature(Utility.java:1024)

at net.sf.antcontrib.design.VerifyDesign.processConstant(VerifyDesign.java:189)

at net.sf.antcontrib.design.VerifyDesign.processConstantPool(VerifyDesign.java:151)

at net.sf.antcontrib.design.VerifyDesign.verifyClassAdheresToDesign(VerifyDesign.java:135)

at net.sf.antcontrib.design.VerifyDesign.execute(VerifyDesign.java:93)

at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)

at org.apache.tools.ant.Task.perform(Task.java:364)

... 21 more

--- Nested Exception ---

org.apache.bcel.classfile.ClassFormatException: Invalid method signature: ()V

at org.apache.bcel.classfile.Utility.typeOfSignature(Utility.java:1024)

at net.sf.antcontrib.design.VerifyDesign.processConstant(VerifyDesign.java:189)

at net.sf.antcontrib.design.VerifyDesign.processConstantPool(VerifyDesign.java:151)

at net.sf.antcontrib.design.VerifyDesign.verifyClassAdheresToDesign(VerifyDesign.java:135)

at net.sf.antcontrib.design.VerifyDesign.execute(VerifyDesign.java:93)

at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)

at org.apache.tools.ant.Task.perform(Task.java:364)

at org.apache.tools.ant.Target.execute(Target.java:341)

at org.apache.tools.ant.Target.performTasks(Target.java:369)

at org.apache.tools.ant.Project.executeTarget(Project.java:1214)

at org.apache.tools.ant.BuildFileTest.executeTarget(BuildFileTest.java:232)

at net.sf.antcontrib.design.VerifyDesignTest.testLocalVarDepend(VerifyDesignTest.java:116)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at net.sf.antcontrib.design.VerifyDesignTest.main(VerifyDesignTest.java:205)

thanks for any help,

dean



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to