### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java,v retrieving revision 1.42 diff -u -r1.42 AttachSourceTests.java --- src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java 29 Mar 2006 04:03:06 -0000 1.42 +++ src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java 13 Jul 2006 16:13:55 -0000 @@ -84,6 +84,8 @@ " V foo(K key, V value) {\n" + " return value;\n" + " }\n" + + " void foo(int i, X x) {\n" + + " }\n" + "}" }; IJavaProject project = getJavaProject("AttachSourceTests"); @@ -327,6 +329,18 @@ " }", method.getSource()); } +/* + * Ensures that the source of a generic method can be retrieved. + * (regression test for bug 129317 Outline view inconsistent with code + */ +public void testGeneric3() throws JavaModelException { + IMethod method = this.genericType.getMethod("foo", new String[] {"I", "Lgeneric.X<[Ljava.lang.Object;>;"}); + assertSourceEquals( + "Unexpected source", + "void foo(int i, X x) {\n" + + " }", + method.getSource()); +} /** * Ensures that name ranges exists for BinaryMembers that have * mapped source. #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/SourceMapper.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SourceMapper.java,v retrieving revision 1.123 diff -u -r1.123 SourceMapper.java --- model/org/eclipse/jdt/internal/core/SourceMapper.java 27 Jun 2006 17:21:41 -0000 1.123 +++ model/org/eclipse/jdt/internal/core/SourceMapper.java 13 Jul 2006 16:13:58 -0000 @@ -1096,6 +1096,9 @@ unqualifiedName.append(current); sigStart = true; break; + case Signature.C_ARRAY : + unqualifiedName.append(current); + break; default: if (sigStart) { switch(current) { Index: model/org/eclipse/jdt/core/Signature.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/Signature.java,v retrieving revision 1.84 diff -u -r1.84 Signature.java --- model/org/eclipse/jdt/core/Signature.java 27 Jun 2006 17:21:41 -0000 1.84 +++ model/org/eclipse/jdt/core/Signature.java 13 Jul 2006 16:13:58 -0000 @@ -1984,6 +1984,9 @@ argumentStart = i+1; } break; + case '[' : + buffer.append('['); + break; } } buffer.append('>');