| /******************************************************************************* |
| * Copyright (c) 2000, 2009 IBM Corporation and others. |
| * |
| * This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jdt.core.tests.model; |
| |
| import junit.framework.Test; |
| |
| import org.eclipse.core.runtime.*; |
| import org.eclipse.jdt.core.*; |
| import org.eclipse.jdt.core.search.*; |
| |
| /** |
| * Test for generic constructor search using R_ERASURE_MATCH rule. |
| */ |
| public class JavaSearchGenericConstructorTests extends AbstractJavaSearchGenericTests { |
| |
| public JavaSearchGenericConstructorTests(String name) { |
| super(name, ERASURE_RULE); |
| } |
| // defined for sub-classes |
| JavaSearchGenericConstructorTests(String name, int matchRule) { |
| super(name, matchRule); |
| } |
| public static Test suite() { |
| return buildModelTestSuite(JavaSearchGenericConstructorTests.class); |
| } |
| // Use this static initializer to specify subset for tests |
| // All specified tests which do not belong to the class are skipped... |
| static { |
| // TESTS_PREFIX = "testConstructorDeclarations"; |
| // TESTS_NAMES = new String[] { "testConstructorStringPatternSingleParamArguments06" }; |
| // TESTS_NUMBERS = new int[] { 8 }; |
| // TESTS_RANGE = new int[] { -1, -1 }; |
| } |
| |
| /* |
| * Remove last type arguments from a line of an expected result. |
| * This line contains one search match print out. |
| */ |
| long removeFirstTypeArgument(char[] line) { |
| int idx=0; |
| int length = line.length; |
| while (line[idx++] != '[') { |
| if (idx == length) return -1; |
| } |
| if (line[idx++] != '<') return -1; |
| int start = idx; |
| int n = 1; |
| while(idx < length && n!= 0) { |
| switch (line[idx++]) { |
| case '<': n++; break; |
| case '>': n--; break; |
| } |
| } |
| if (n!= 0) { |
| // something wrong here... |
| return -1; |
| } |
| return ((long)start<<32) + idx; |
| } |
| |
| void addResultLine(StringBuffer buffer, char[] line) { |
| long positions = removeFirstTypeArgument(line); |
| if (buffer.length() > 0) buffer.append('\n'); |
| if (positions != -1) { |
| int stop = (int) (positions >>> 32) - 1; |
| int restart = (int) positions; |
| buffer.append(line, 0, stop); |
| buffer.append(line, restart, line.length-restart); |
| } else { |
| buffer.append(line); |
| } |
| } |
| |
| /** |
| * Bug 75642: [1.5][search] Methods and constructor search does not work with generics |
| * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=75642" |
| */ |
| /* |
| * REFERENCES |
| */ |
| // Search references to constructors defined in a single type parameter class |
| public void testConstructorReferencesElementPatternSingleTypeParameter01() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Single.java").getType("Single"); |
| // search reference to a standard constructor |
| IMethod method = type.getMethod("Single", new String[] { "QT;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] ERASURE_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(new RuntimeException())] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleTypeParameter02() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Single.java").getType("Single"); |
| // search reference to a generic constructor |
| IMethod method = type.getMethod("Single", new String[] { "QT;", "QU;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] ERASURE_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleTypeParameter03() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Single.java").getType("Single"); |
| // search reference to a method with parameterized type arguments |
| IMethod method = type.getMethod("Single", new String[] { "QSingle<QT;>;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(gs)] ERASURE_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(gs)] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleTypeParameter04() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Single.java").getType("Single"); |
| // search reference to a generic method returning a param type with param type parameters (=complete) |
| IMethod method = type.getMethod("Single", new String[] { "QU;", "QSingle<QT;>;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] ERASURE_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] ERASURE_MATCH" |
| ); |
| } |
| |
| // Search references to contructors defined in a multiple type parameters class |
| public void testConstructorReferencesElementPatternMultipleTypeParameter01() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Multiple.java").getType("Multiple"); |
| IMethod method = type.getMethod("Multiple", new String[] { "QT1;","QT2;","QT3;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] ERASURE_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleTypeParameter02() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Multiple.java").getType("Multiple"); |
| IMethod method = type.getMethod("Multiple", new String[] { "QMultiple<QT1;QT2;QT3;>;", "QU1;","QU2;","QU3;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] ERASURE_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleTypeParameter03() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Multiple.java").getType("Multiple"); |
| IMethod method = type.getMethod("Multiple", new String[] { "QMultiple<QT1;QT2;QT3;>;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] ERASURE_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleTypeParameter04() throws CoreException { |
| IType type = getCompilationUnit("JavaSearch15/src/g5/c/def/Multiple.java").getType("Multiple"); |
| IMethod method = type.getMethod("Multiple", new String[] { "QU1;","QU2;","QU3;", "QMultiple<QT1;QT2;QT3;>;" }); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] ERASURE_RAW_MATCH" |
| ); |
| } |
| |
| // Search references to single parameterized contructors |
| public void testConstructorReferencesElementPatternSingleParamArguments01() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 9); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(new RuntimeException())] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleParamArguments02() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 10); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleParamArguments03() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 11); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(gs)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(gs)] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleParamArguments04() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 12); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleParamArguments05() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Single", 5); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternSingleParamArguments06() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Single", 7); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] EQUIVALENT_MATCH" |
| ); |
| } |
| |
| // Search references to multiple parameterized contructors |
| public void testConstructorReferencesElementPatternMultipleParamArguments01() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 8); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleParamArguments02() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 9); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleParamArguments03() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 10); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleParamArguments04() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 11); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleParamArguments05() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Multiple", 5); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] EXACT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesElementPatternMultipleParamArguments06() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Multiple", 7); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] EXACT_RAW_MATCH" |
| ); |
| } |
| |
| // Search string pattern references to single parameterized contructors |
| public void testConstructorReferencesStringPatternSingleParamArguments01() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("<Exception>Single", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(gs)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments02() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("<? extends Exception> Single", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments03() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("<? super Exception>S?ng*", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments04() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Single", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(gs)] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments05() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Single(Object)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments06() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Single(Exception, Single<Exception>)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments07() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Single<Exception>", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), new Throwable())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testSingle() [new Single(new Object(), gs)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Throwable>Single<Object>(new Object(), new Throwable())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new Single<Object>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), new Exception())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(gs)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new Single<RuntimeException>(gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testRuntimeException() [new <RuntimeException>Single<RuntimeException>(new RuntimeException(), gs)] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments08() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Single<Exception>(Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments09() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Single<? extends Exception>(Exception, Single<? super Exception>)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testObject() [new <Exception>Single<Object>(new Exception(), gs)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new <Exception>Single<Exception>(new Exception(), gs)] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments10() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<Exception>Single(Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments11() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.Single<Exception>(Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternSingleParamArguments12() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.<? extends Exception>Single<? extends Exception>(Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefSingle.java void g5.c.ref.RefSingle.testException() [new Single<Exception>(new Exception())] EQUIVALENT_MATCH" |
| ); |
| } |
| |
| // Search string pattern references to multiple parameterized contructors |
| public void testConstructorReferencesStringPatternMultipleParamArguments01() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("<?, ? extends Exception, ? super RuntimeException>Multiple", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments02() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("<Object, Exception, RuntimeException>Multiple", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments03() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Multiple", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] EXACT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] EXACT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments04() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Multiple(Exception,Exception,Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments05() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Multiple(RuntimeException,RuntimeException,RuntimeException,Multiple<RuntimeException, RuntimeException, RuntimeException>)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] EQUIVALENT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments06() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Multiple<RuntimeException, RuntimeException, RuntimeException>", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments07() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("Multiple<?,? extends Throwable,? extends Exception>", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(gm, new Object(), new Throwable(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new <Object, Throwable, Exception>Multiple<Object, Object, Object>(new Object(), new Throwable(), new Exception(), gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(gm, new Exception(),new Exception(),new Exception())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new <Exception, Exception, Exception>Multiple<Exception, Exception, Exception>(new Exception(),new Exception(),new Exception(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(gm, new RuntimeException(),new RuntimeException(),new RuntimeException())] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new <RuntimeException, RuntimeException, RuntimeException>Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(),new RuntimeException(),new RuntimeException(), gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm, new Object(), new Throwable(), new Exception())] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] EQUIVALENT_RAW_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Throwable(), new Exception(), gm)] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments08() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("<RuntimeException, RuntimeException, RuntimeException>Multiple(*,*,*)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(new Object(), new Object(), new Object())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(new RuntimeException(), new RuntimeException(), new RuntimeException())] EXACT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(new Object(), new Object(), new Object())] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments09() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15("g5.c.ref", false); |
| search("<?,? extends Throwable,? extends RuntimeException>Multiple(*)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testObject() [new Multiple<Object, Object, Object>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(gm)] ERASURE_MATCH\n" + |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testRuntimeException() [new Multiple<RuntimeException, RuntimeException, RuntimeException>(gm)] EQUIVALENT_MATCH\n" + |
| "src/g5/c/ref/RefRaw.java void g5.c.ref.RefRaw.testMultiple() [new Multiple(gm)] EQUIVALENT_RAW_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments10() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<Object,Exception,Exception>Multiple(Exception,Exception,Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] ERASURE_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments11() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.Multiple<Exception,Exception,Exception>(Exception,Exception,Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorReferencesStringPatternMultipleParamArguments12() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.<?,? extends Throwable,? extends Throwable>Multiple<?,? extends Throwable,? extends Exception>(Exception,Exception,Exception)", CONSTRUCTOR, REFERENCES, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/ref/RefMultiple.java void g5.c.ref.RefMultiple.testException() [new Multiple<Exception, Exception, Exception>(new Exception(), new Exception(), new Exception())] EQUIVALENT_MATCH" |
| ); |
| } |
| |
| /* |
| * DECLARATIONS |
| */ |
| // Search references to single parameterized contructors |
| public void testConstructorDeclarationsElementPatternSingleParamArguments01() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 9); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsElementPatternSingleParamArguments02() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 10); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsElementPatternSingleParamArguments03() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 11); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsElementPatternSingleParamArguments04() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefSingle.java"); |
| IMethod method = selectMethod(unit, "Single", 12); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssElementPatternSingleParamArguments05() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Single", 5); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssElementPatternSingleParamArguments06() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Single", 7); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| |
| // Search references to multiple parameterized contructors |
| public void testConstructorDeclarationsElementPatternMultipleParamArguments01() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 8); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(T1, T2, T3) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsElementPatternMultipleParamArguments02() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 9); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsElementPatternMultipleParamArguments03() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 10); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsElementPatternMultipleParamArguments04() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefMultiple.java"); |
| IMethod method = selectMethod(unit, "Multiple", 11); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssElementPatternMultipleParamArguments05() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Multiple", 5); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssElementPatternMultipleParamArguments06() throws CoreException { |
| ICompilationUnit unit = getCompilationUnit("JavaSearch15/src/g5/c/ref/RefRaw.java"); |
| IMethod method = selectMethod(unit, "Multiple", 7); |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search(method, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| |
| // Search string pattern references to single parameterized contructors |
| public void testConstructorDeclarationsStringPatternSingleParamArguments01() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<Exception>Single", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments02() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<T>Single", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments03() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<U>S?ng*", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments04() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Single", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(Single<T>) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments05() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Single(*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments06() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Single(*, *)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments07() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Single<Exception>", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments08() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Single<Exception>(*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternSingleParamArguments09() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Single<? extends Exception>(*, *)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssStringPatternSingleParamArguments10() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<Exception>Single", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssStringPatternSingleParamArguments11() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.Single<Exception>", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssStringPatternSingleParamArguments12() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.<? extends Exception>Single<? extends Exception>", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Single.java g5.c.def.Single(T, U) [Single] EXACT_MATCH\n" + |
| "src/g5/c/def/Single.java g5.c.def.Single(U, Single<T>) [Single] EXACT_MATCH" |
| ); |
| } |
| |
| // Search string pattern references to multiple parameterized contructors |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments01() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<?, ? extends Exception, ? super RuntimeException>Multiple", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments02() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<Object, Exception, RuntimeException>Multiple", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments03() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Multiple", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(T1, T2, T3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments04() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Multiple(*,*,*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(T1, T2, T3) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments05() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Multiple(*,*,*,*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments06() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Multiple<RuntimeException, RuntimeException, RuntimeException>", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments07() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("Multiple<?,? extends Throwable,? extends Exception>", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments08() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<RuntimeException, RuntimeException, RuntimeException>Multiple(*,*,*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "" |
| ); |
| } |
| public void testConstructorDeclarationsStringPatternMultipleParamArguments09() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<?,? extends Throwable,? extends RuntimeException>Multiple", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssStringPatternMultipleParamArguments10() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("<Object,Exception,Exception>Multiple(*,*,*,*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssStringPatternMultipleParamArguments11() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.Multiple<Object,Exception,Exception>(*,*,*,*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| public void testConstructorDeclarationssStringPatternMultipleParamArguments12() throws CoreException { |
| IJavaSearchScope scope = getJavaSearchScope15(); |
| search("g5.c.def.<?,? extends Throwable,? extends Throwable>Multiple<?,? extends Throwable,? extends Exception>(*,*,*,*)", CONSTRUCTOR, DECLARATIONS, scope, this.resultCollector); |
| assertSearchResults( |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(Multiple<T1,T2,T3>, U1, U2, U3) [Multiple] EXACT_MATCH\n" + |
| "src/g5/c/def/Multiple.java g5.c.def.Multiple(U1, U2, U3, Multiple<T1,T2,T3>) [Multiple] EXACT_MATCH" |
| ); |
| } |
| } |