Community
Participate
Working Groups
3.0 + Cheetah as of 20040628 On following code, no completion is available: public class Y { void foo(){ X someX = new X(); som<CODEASSIST>.b } } where X.java is: public class X <T extends String, U> { <Y1> void bar(Y1[] y) {} void bar2(Y<E3[]>[] ye[]) {} void foo(java.util.Map<Object[],String>.MapEntry<p.K<T>[],? super q.r.V8> m){ } Class<? extends Object> getClass0() {} <E extends String> void pair (X<? extends E, U> e, T t){ } }
The problem seems to be inside SourceTypeConverter.decodeType(). Exception caught by CompletionEngine: java.lang.ArrayIndexOutOfBoundsException: -1 at org.eclipse.jdt.core.compiler.CharOperation.splitOn (CharOperation.java:2499) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.decodeType (SourceTypeConverter.java:456) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.createTypeReferenc e(SourceTypeConverter.java:388) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert (SourceTypeConverter.java:214) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert (SourceTypeConverter.java:327) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert (SourceTypeConverter.java:137) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUn it(SourceTypeConverter.java:92) at org.eclipse.jdt.internal.codeassist.impl.Engine.accept (Engine.java:67) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType (LookupEnvironment.java:118) at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage (PackageBinding.java:169) at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage (Scope.java:1928) at org.eclipse.jdt.internal.compiler.lookup.Scope.getType (Scope.java:1721) at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding (SingleTypeReference.java:38) at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType (TypeReference.java:117) at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.resolve (LocalDeclaration.java:137) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatemen ts(AbstractMethodDeclaration.java:382) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements (MethodDeclaration.java:133) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve (AbstractMethodDeclaration.java:360) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:920) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:969) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve (CompilationUnitDeclaration.java:280) at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete (CompletionEngine.java:970) at ...
Fixed. Added ReconcilerTest#testMethodWithError13.