Bug 117628 - Problem with get declared methods on a generic type
Summary: Problem with get declared methods on a generic type
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 1.5.0RC1   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-22 23:20 EST by Ron Bodkin CLA
Modified: 2005-11-23 11:58 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2005-11-22 23:20:05 EST
Tracking bug for this exception Do not call nameToSignature with something that looks like a signature (descriptor): '[Ljava.lang.Object;' from this code:

	public void testResolveGeneric() {
		UnresolvedType collectionType = UnresolvedType.forName("java.util.Collection<E>");
		ResolvedMember[] methods = world.resolve(collectionType ).getDeclaredMethods();
...

See bug #117622 for a testCase and patch that expose these problems.


org.aspectj.weaver.BCException: Do not call nameToSignature with something that looks like a signature (descriptor): '[Ljava.lang.Object;'

	at org.aspectj.weaver.UnresolvedType.nameToSignature(UnresolvedType.java:733)
	at org.aspectj.weaver.UnresolvedType.forName(UnresolvedType.java:308)
	at org.aspectj.weaver.World.resolve(World.java:261)
	at org.aspectj.weaver.reflect.Java15ReflectionBasedReferenceTypeDelegate.fromType(Java15ReflectionBasedReferenceTypeDelegate.java:274)
	at org.aspectj.weaver.reflect.Java15ReflectionBasedReferenceTypeDelegate.createGenericMethodMember(Java15ReflectionBasedReferenceTypeDelegate.java:173)
	at org.aspectj.weaver.reflect.Java15ReflectionBasedReferenceTypeDelegate.getDeclaredMethods(Java15ReflectionBasedReferenceTypeDelegate.java:158)
	at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:398)
	at org.aspectj.weaver.reflect.TestJava5ReflectionBasedReferenceTypeDelegate.testResolveGeneric(TestJava5ReflectionBasedReferenceTypeDelegate.java:12)
	at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
	at jrockit.reflect.InitialMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
	at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Comment 1 Ron Bodkin CLA 2005-11-23 11:58:21 EST
Fixed by Andy. See bug #117622.