Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 73026 Details for
Bug 142044
[search] "And" Pattern fails with NullPointerException
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed patch
v02.txt (text/plain), 320.21 KB, created by
Frederic Fusier
on 2007-07-04 09:58:28 EDT
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Frederic Fusier
Created:
2007-07-04 09:58:28 EDT
Size:
320.21 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core >Index: search/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.java,v >retrieving revision 1.76 >diff -u -r1.76 TypeReferencePattern.java >--- search/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.java 6 Mar 2007 02:38:49 -0000 1.76 >+++ search/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.java 4 Jul 2007 13:37:15 -0000 >@@ -15,7 +15,7 @@ > import org.eclipse.jdt.core.search.SearchPattern; > import org.eclipse.jdt.internal.core.util.Util; > >- public class TypeReferencePattern extends AndPattern { >+ public class TypeReferencePattern extends IntersectingPattern { > > protected char[] qualification; > protected char[] simpleName; >Index: search/org/eclipse/jdt/internal/core/search/matching/PatternLocator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/PatternLocator.java,v >retrieving revision 1.65 >diff -u -r1.65 PatternLocator.java >--- search/org/eclipse/jdt/internal/core/search/matching/PatternLocator.java 27 Apr 2007 15:51:38 -0000 1.65 >+++ search/org/eclipse/jdt/internal/core/search/matching/PatternLocator.java 4 Jul 2007 13:37:15 -0000 >@@ -84,6 +84,8 @@ > return new MethodLocator((MethodPattern) pattern); > case IIndexConstants.OR_PATTERN : > return new OrLocator((OrPattern) pattern); >+ case IIndexConstants.AND_PATTERN : >+ return new AndLocator((AndPattern) pattern); > case IIndexConstants.LOCAL_VAR_PATTERN : > return new LocalVariableLocator((LocalVariablePattern) pattern); > case IIndexConstants.TYPE_PARAM_PATTERN: >Index: search/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.java,v >retrieving revision 1.59 >diff -u -r1.59 PackageReferencePattern.java >--- search/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.java 7 Sep 2006 12:59:26 -0000 1.59 >+++ search/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.java 4 Jul 2007 13:37:15 -0000 >@@ -13,7 +13,7 @@ > import org.eclipse.jdt.core.compiler.CharOperation; > import org.eclipse.jdt.core.search.SearchPattern; > >-public class PackageReferencePattern extends AndPattern { >+public class PackageReferencePattern extends IntersectingPattern { > > protected char[] pkgName; > >Index: search/org/eclipse/jdt/internal/core/search/matching/AndPattern.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/AndPattern.java,v >retrieving revision 1.28 >diff -u -r1.28 AndPattern.java >--- search/org/eclipse/jdt/internal/core/search/matching/AndPattern.java 25 Apr 2006 20:39:45 -0000 1.28 >+++ search/org/eclipse/jdt/internal/core/search/matching/AndPattern.java 4 Jul 2007 13:37:15 -0000 >@@ -10,74 +10,68 @@ > *******************************************************************************/ > package org.eclipse.jdt.internal.core.search.matching; > >-import java.io.IOException; >+import org.eclipse.jdt.core.search.SearchPattern; > >-import org.eclipse.core.runtime.IProgressMonitor; >-import org.eclipse.core.runtime.OperationCanceledException; >-import org.eclipse.jdt.core.search.*; >-import org.eclipse.jdt.internal.compiler.util.SimpleSet; >-import org.eclipse.jdt.internal.core.index.*; >-import org.eclipse.jdt.internal.core.search.IndexQueryRequestor; >- >-/** >- * Query the index multiple times and do an 'and' on the results. >- */ >-public abstract class AndPattern extends JavaSearchPattern { // TODO should rename IntersectingPattern, and make AndPattern a true subclass >- >-public AndPattern(int patternKind, int matchRule) { >- super(patternKind, matchRule); >-} >-public void findIndexMatches(Index index, IndexQueryRequestor requestor, SearchParticipant participant, IJavaSearchScope scope, IProgressMonitor progressMonitor) throws IOException { >- if (progressMonitor != null && progressMonitor.isCanceled()) throw new OperationCanceledException(); >- >- this.resetQuery(); >- SimpleSet intersectedNames = null; >- try { >- index.startQuery(); >- do { >- SearchPattern pattern = ((InternalSearchPattern) this).currentPattern(); >- EntryResult[] entries = ((InternalSearchPattern)pattern).queryIn(index); >- if (entries == null) return; >- >- SearchPattern decodedResult = pattern.getBlankPattern(); >- SimpleSet newIntersectedNames = new SimpleSet(3); >- for (int i = 0, l = entries.length; i < l; i++) { >- if (progressMonitor != null && progressMonitor.isCanceled()) throw new OperationCanceledException(); >- >- EntryResult entry = entries[i]; >- decodedResult.decodeIndexKey(entry.getWord()); >- if (pattern.matchesDecodedKey(decodedResult)) { >- String[] names = entry.getDocumentNames(index); >- if (intersectedNames != null) { >- for (int j = 0, n = names.length; j < n; j++) >- if (intersectedNames.includes(names[j])) >- newIntersectedNames.add(names[j]); >- } else { >- for (int j = 0, n = names.length; j < n; j++) >- newIntersectedNames.add(names[j]); >- } >- } >- } >- >- if (newIntersectedNames.elementSize == 0) return; >- intersectedNames = newIntersectedNames; >- } while (this.hasNextQuery()); >- } finally { >- index.stopQuery(); >+public class AndPattern extends IntersectingPattern { >+protected SearchPattern[] patterns; >+int current; >+ >+private static int combinedMatchRule(int matchRule, int matchRule2) { >+ int combined = matchRule & matchRule2; >+ int compatibility = combined & MATCH_COMPATIBILITY_MASK; >+ if (compatibility == 0) { >+ if ((matchRule & MATCH_COMPATIBILITY_MASK) == R_FULL_MATCH) { >+ compatibility = matchRule2; >+ } else if ((matchRule2 & MATCH_COMPATIBILITY_MASK) == R_FULL_MATCH) { >+ compatibility = matchRule; >+ } else { >+ compatibility = Math.min(matchRule & MATCH_COMPATIBILITY_MASK, matchRule2 & MATCH_COMPATIBILITY_MASK); >+ } > } >+ return (combined & (R_EXACT_MATCH | R_PREFIX_MATCH | R_PATTERN_MATCH | R_REGEXP_MATCH)) >+ | (combined & R_CASE_SENSITIVE) >+ | compatibility >+ | (combined & R_CAMELCASE_MATCH); >+} >+ >+public AndPattern(SearchPattern leftPattern, SearchPattern rightPattern) { >+ super(AND_PATTERN, combinedMatchRule(leftPattern.getMatchRule(), rightPattern.getMatchRule())); >+ ((InternalSearchPattern) this).mustResolve = ((InternalSearchPattern) leftPattern).mustResolve || ((InternalSearchPattern) rightPattern).mustResolve; >+ >+ SearchPattern[] leftPatterns = leftPattern instanceof AndPattern ? ((AndPattern) leftPattern).patterns : null; >+ SearchPattern[] rightPatterns = rightPattern instanceof AndPattern ? ((AndPattern) rightPattern).patterns : null; >+ int leftSize = leftPatterns == null ? 1 : leftPatterns.length; >+ int rightSize = rightPatterns == null ? 1 : rightPatterns.length; >+ this.patterns = new SearchPattern[leftSize + rightSize]; >+ >+ if (leftPatterns == null) >+ this.patterns[0] = leftPattern; >+ else >+ System.arraycopy(leftPatterns, 0, this.patterns, 0, leftSize); >+ if (rightPatterns == null) >+ this.patterns[leftSize] = rightPattern; >+ else >+ System.arraycopy(rightPatterns, 0, this.patterns, leftSize, rightSize); > >- String containerPath = index.containerPath; >- Object[] names = intersectedNames.values; >- for (int i = 0, l = names.length; i < l; i++) >- if (names[i] != null) >- ((InternalSearchPattern) this).acceptMatch((String) names[i], containerPath, null/*no pattern*/, requestor, participant, scope); // AndPatterns cannot provide the decoded result >+ // Store erasure match >+ matchCompatibility = getMatchRule() & MATCH_COMPATIBILITY_MASK; >+ >+ this.current = 0; > } >-/** >- * Returns whether another query must be done. >- */ >-protected abstract boolean hasNextQuery(); >-/** >- * Resets the query and prepares this pattern to be queried. >+ >+/* (non-Javadoc) >+ * @see org.eclipse.jdt.internal.core.search.matching.InternalSearchPattern#currentPattern() > */ >-protected abstract void resetQuery(); >+SearchPattern currentPattern() { >+ return this.patterns[this.current++]; >+} >+ >+protected boolean hasNextQuery() { >+ return this.current < (this.patterns.length-1); >+} >+ >+protected void resetQuery() { >+ this.current = 0; >+} >+ > } >Index: search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java,v >retrieving revision 1.293 >diff -u -r1.293 MatchLocator.java >--- search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java 26 Jun 2007 11:05:36 -0000 1.293 >+++ search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java 4 Jul 2007 13:37:15 -0000 >@@ -299,25 +299,6 @@ > return null; > } > >-public static SearchPattern createAndPattern(final SearchPattern leftPattern, final SearchPattern rightPattern) { >- return new AndPattern(0/*no kind*/, 0/*no rule*/) { >- SearchPattern current = leftPattern; >- public SearchPattern currentPattern() { >- return this.current; >- } >- protected boolean hasNextQuery() { >- if (this.current == leftPattern) { >- this.current = rightPattern; >- return true; >- } >- return false; >- } >- protected void resetQuery() { >- this.current = leftPattern; >- } >- }; >-} >- > /** > * Query a given index for matching entries. Assumes the sender has opened the index and will close when finished. > */ >@@ -344,7 +325,7 @@ > > this.pattern = pattern; > this.patternLocator = PatternLocator.patternLocator(this.pattern); >- this.matchContainer = this.patternLocator.matchContainer(); >+ this.matchContainer = this.patternLocator == null ? 0 : this.patternLocator.matchContainer(); > this.requestor = requestor; > this.scope = scope; > this.progressMonitor = progressMonitor; >@@ -1084,6 +1065,7 @@ > * Locate the matches in the given files and report them using the search requestor. > */ > public void locateMatches(SearchDocument[] searchDocuments) throws CoreException { >+ if (this.patternLocator == null) return; > int docsLength = searchDocuments.length; > if (BasicSearchEngine.VERBOSE) { > System.out.println("Locating matches in documents ["); //$NON-NLS-1$ >@@ -1609,6 +1591,12 @@ > } > > protected void report(SearchMatch match) throws CoreException { >+ if (match == null) { >+ if (BasicSearchEngine.VERBOSE) { >+ System.out.println("Cannot report a null match!!!"); //$NON-NLS-1$ >+ } >+ return; >+ } > long start = -1; > if (BasicSearchEngine.VERBOSE) { > start = System.currentTimeMillis(); >Index: search/org/eclipse/jdt/internal/core/search/matching/OrLocator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/OrLocator.java,v >retrieving revision 1.19 >diff -u -r1.19 OrLocator.java >--- search/org/eclipse/jdt/internal/core/search/matching/OrLocator.java 10 May 2006 18:03:43 -0000 1.19 >+++ search/org/eclipse/jdt/internal/core/search/matching/OrLocator.java 4 Jul 2007 13:37:15 -0000 >@@ -15,15 +15,18 @@ > import org.eclipse.jdt.core.search.SearchMatch; > import org.eclipse.jdt.core.search.SearchPattern; > import org.eclipse.jdt.internal.compiler.ast.ASTNode; >+import org.eclipse.jdt.internal.compiler.ast.Annotation; > import org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration; > import org.eclipse.jdt.internal.compiler.ast.Expression; > import org.eclipse.jdt.internal.compiler.ast.FieldDeclaration; > import org.eclipse.jdt.internal.compiler.ast.ImportReference; > import org.eclipse.jdt.internal.compiler.ast.LocalDeclaration; >+import org.eclipse.jdt.internal.compiler.ast.MemberValuePair; > import org.eclipse.jdt.internal.compiler.ast.MessageSend; > import org.eclipse.jdt.internal.compiler.ast.MethodDeclaration; > import org.eclipse.jdt.internal.compiler.ast.Reference; > import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration; >+import org.eclipse.jdt.internal.compiler.ast.TypeParameter; > import org.eclipse.jdt.internal.compiler.ast.TypeReference; > import org.eclipse.jdt.internal.compiler.lookup.Binding; > import org.eclipse.jdt.internal.compiler.lookup.FieldBinding; >@@ -47,6 +50,17 @@ > for (int i = 0, length = this.patternLocators.length; i < length; i++) > this.patternLocators[i].initializePolymorphicSearch(locator); > } >+public int match(Annotation node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} > public int match(ASTNode node, MatchingNodeSet nodeSet) { > int level = IMPOSSIBLE_MATCH; > for (int i = 0, length = this.patternLocators.length; i < length; i++) { >@@ -113,6 +127,17 @@ > } > return level; > } >+public int match(MemberValuePair node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} > public int match(MessageSend node, MatchingNodeSet nodeSet) { > int level = IMPOSSIBLE_MATCH; > for (int i = 0, length = this.patternLocators.length; i < length; i++) { >@@ -146,6 +171,17 @@ > } > return level; > } >+public int match(TypeParameter node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} > public int match(TypeReference node, MatchingNodeSet nodeSet) { > int level = IMPOSSIBLE_MATCH; > for (int i = 0, length = this.patternLocators.length; i < length; i++) { >@@ -164,7 +200,7 @@ > return result; > } > protected void matchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator) throws CoreException { >- >+ > // for static import, binding can be a field binding or a member type binding > // verify that in this case binding is static and use declaring class for fields > Binding refBinding = binding; >@@ -182,7 +218,7 @@ > if (!memberBinding.isStatic()) return; > } > } >- >+ > // Look for closest pattern > PatternLocator closestPattern = null; > int level = IMPOSSIBLE_MATCH; >Index: search/org/eclipse/jdt/core/search/SearchPattern.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchPattern.java,v >retrieving revision 1.65 >diff -u -r1.65 SearchPattern.java >--- search/org/eclipse/jdt/core/search/SearchPattern.java 21 Mar 2007 17:44:51 -0000 1.65 >+++ search/org/eclipse/jdt/core/search/SearchPattern.java 4 Jul 2007 13:37:15 -0000 >@@ -432,9 +432,10 @@ > * @param leftPattern the left pattern > * @param rightPattern the right pattern > * @return an "and" pattern >+ * @deprecated This functionality is not fully supported yet. This might be done in a further version... > */ > public static SearchPattern createAndPattern(SearchPattern leftPattern, SearchPattern rightPattern) { >- return MatchLocator.createAndPattern(leftPattern, rightPattern); >+ return new AndPattern(leftPattern, rightPattern); > } > > /** >Index: search/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.java,v >retrieving revision 1.33 >diff -u -r1.33 IIndexConstants.java >--- search/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.java 7 Sep 2006 12:59:26 -0000 1.33 >+++ search/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.java 4 Jul 2007 13:37:15 -0000 >@@ -58,4 +58,5 @@ > int OR_PATTERN = 0x0100; > int LOCAL_VAR_PATTERN = 0x0200; > int TYPE_PARAM_PATTERN = 0x0400; >+ int AND_PATTERN = 0x0800; > } >Index: search/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.java >=================================================================== >RCS file: search/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.java >diff -N search/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ search/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,83 @@ >+/******************************************************************************* >+ * Copyright (c) 2000, 2006 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ *******************************************************************************/ >+package org.eclipse.jdt.internal.core.search.matching; >+ >+import java.io.IOException; >+ >+import org.eclipse.core.runtime.IProgressMonitor; >+import org.eclipse.core.runtime.OperationCanceledException; >+import org.eclipse.jdt.core.search.*; >+import org.eclipse.jdt.internal.compiler.util.SimpleSet; >+import org.eclipse.jdt.internal.core.index.*; >+import org.eclipse.jdt.internal.core.search.IndexQueryRequestor; >+ >+/** >+ * Query the index multiple times and do an 'and' on the results. >+ */ >+public abstract class IntersectingPattern extends JavaSearchPattern { >+ >+public IntersectingPattern(int patternKind, int matchRule) { >+ super(patternKind, matchRule); >+} >+public void findIndexMatches(Index index, IndexQueryRequestor requestor, SearchParticipant participant, IJavaSearchScope scope, IProgressMonitor progressMonitor) throws IOException { >+ if (progressMonitor != null && progressMonitor.isCanceled()) throw new OperationCanceledException(); >+ >+ this.resetQuery(); >+ SimpleSet intersectedNames = null; >+ try { >+ index.startQuery(); >+ do { >+ SearchPattern pattern = ((InternalSearchPattern) this).currentPattern(); >+ EntryResult[] entries = ((InternalSearchPattern)pattern).queryIn(index); >+ if (entries == null) return; >+ >+ SearchPattern decodedResult = pattern.getBlankPattern(); >+ SimpleSet newIntersectedNames = new SimpleSet(3); >+ for (int i = 0, l = entries.length; i < l; i++) { >+ if (progressMonitor != null && progressMonitor.isCanceled()) throw new OperationCanceledException(); >+ >+ EntryResult entry = entries[i]; >+ decodedResult.decodeIndexKey(entry.getWord()); >+ if (pattern.matchesDecodedKey(decodedResult)) { >+ String[] names = entry.getDocumentNames(index); >+ if (intersectedNames != null) { >+ for (int j = 0, n = names.length; j < n; j++) >+ if (intersectedNames.includes(names[j])) >+ newIntersectedNames.add(names[j]); >+ } else { >+ for (int j = 0, n = names.length; j < n; j++) >+ newIntersectedNames.add(names[j]); >+ } >+ } >+ } >+ >+ if (newIntersectedNames.elementSize == 0) return; >+ intersectedNames = newIntersectedNames; >+ } while (this.hasNextQuery()); >+ } finally { >+ index.stopQuery(); >+ } >+ >+ String containerPath = index.containerPath; >+ Object[] names = intersectedNames.values; >+ for (int i = 0, l = names.length; i < l; i++) >+ if (names[i] != null) >+ ((InternalSearchPattern) this).acceptMatch((String) names[i], containerPath, null/*no pattern*/, requestor, participant, scope); // AndPatterns cannot provide the decoded result >+} >+/** >+ * Returns whether another query must be done. >+ */ >+protected abstract boolean hasNextQuery(); >+/** >+ * Resets the query and prepares this pattern to be queried. >+ */ >+protected abstract void resetQuery(); >+} >Index: search/org/eclipse/jdt/internal/core/search/matching/AndLocator.java >=================================================================== >RCS file: search/org/eclipse/jdt/internal/core/search/matching/AndLocator.java >diff -N search/org/eclipse/jdt/internal/core/search/matching/AndLocator.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ search/org/eclipse/jdt/internal/core/search/matching/AndLocator.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,255 @@ >+/******************************************************************************* >+ * Copyright (c) 2000, 2006 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ *******************************************************************************/ >+package org.eclipse.jdt.internal.core.search.matching; >+ >+import org.eclipse.core.runtime.CoreException; >+import org.eclipse.jdt.core.IJavaElement; >+import org.eclipse.jdt.core.search.SearchPattern; >+import org.eclipse.jdt.internal.compiler.ast.ASTNode; >+import org.eclipse.jdt.internal.compiler.ast.Annotation; >+import org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration; >+import org.eclipse.jdt.internal.compiler.ast.Expression; >+import org.eclipse.jdt.internal.compiler.ast.FieldDeclaration; >+import org.eclipse.jdt.internal.compiler.ast.ImportReference; >+import org.eclipse.jdt.internal.compiler.ast.LocalDeclaration; >+import org.eclipse.jdt.internal.compiler.ast.MemberValuePair; >+import org.eclipse.jdt.internal.compiler.ast.MessageSend; >+import org.eclipse.jdt.internal.compiler.ast.MethodDeclaration; >+import org.eclipse.jdt.internal.compiler.ast.Reference; >+import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration; >+import org.eclipse.jdt.internal.compiler.ast.TypeParameter; >+import org.eclipse.jdt.internal.compiler.ast.TypeReference; >+import org.eclipse.jdt.internal.compiler.lookup.Binding; >+ >+public class AndLocator extends PatternLocator { >+ >+final PatternLocator[] patternLocators; >+final int[] levels; >+ >+public AndLocator(AndPattern pattern) { >+ super(pattern); >+ >+ SearchPattern[] patterns = pattern.patterns; >+ PatternLocator[] locators = new PatternLocator[patterns.length]; >+ this.levels = new int[patterns.length]; >+ for (int i=0, l=patterns.length; i<l; i++) { >+ locators[i] = PatternLocator.patternLocator(patterns[i]); >+ this.levels[i] = IMPOSSIBLE_MATCH; >+ } >+ this.patternLocators = locators; >+} >+public void initializePolymorphicSearch(MatchLocator locator) { >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ this.patternLocators[i].initializePolymorphicSearch(locator); >+ } >+} >+public int match(Annotation node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(ASTNode node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(ConstructorDeclaration node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(Expression node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(FieldDeclaration node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(LocalDeclaration node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(MethodDeclaration node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(MemberValuePair node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(MessageSend node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(Reference node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(TypeDeclaration node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(TypeParameter node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+public int match(TypeReference node, MatchingNodeSet nodeSet) { >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].match(node, nodeSet); >+ if (newLevel > level) { >+ if (newLevel == ACCURATE_MATCH) return ACCURATE_MATCH; >+ level = newLevel; >+ } >+ } >+ return level; >+} >+protected int matchContainer() { >+ int result = ALL_CONTAINER; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ result &= this.patternLocators[i].matchContainer(); >+ } >+ return result; >+} >+protected void matchReportImportRef(ImportReference importRef, Binding binding, IJavaElement element, int accuracy, MatchLocator locator) throws CoreException { >+ PatternLocator weakestPattern = null; >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].matchLevel(importRef); >+ if (newLevel == IMPOSSIBLE_MATCH) return; >+ if (weakestPattern == null || newLevel < level) { >+ weakestPattern = this.patternLocators[i]; >+ level = newLevel; >+ } >+ } >+ weakestPattern.matchReportImportRef(importRef, binding, element, accuracy, locator); >+} >+protected void matchReportReference(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) throws CoreException { >+ PatternLocator weakestPattern = null; >+ int level = IMPOSSIBLE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ if (this.patternLocators[i].referenceType() == 0) return; // impossible match >+ int newLevel = this.patternLocators[i].resolveLevel(reference); >+ if (newLevel == IMPOSSIBLE_MATCH) return; >+ if (weakestPattern == null || newLevel < level) { >+ weakestPattern = this.patternLocators[i]; >+ level = newLevel; >+ } >+ } >+ weakestPattern.matchReportReference(reference, element, elementBinding, accuracy, locator); >+} >+public int resolveLevel(ASTNode node) { >+ int level = ACCURATE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].resolveLevel(node); >+ if (newLevel == IMPOSSIBLE_MATCH) return IMPOSSIBLE_MATCH; >+ this.levels[i] = newLevel; >+ if (newLevel < level) { >+ level = newLevel; // want to answer the weaker match >+ } >+ } >+ return level; >+} >+public int resolveLevel(Binding binding) { >+ int level = ACCURATE_MATCH; >+ for (int i = 0, length = this.patternLocators.length; i < length; i++) { >+ int newLevel = this.patternLocators[i].resolveLevel(binding); >+ if (newLevel == IMPOSSIBLE_MATCH) return IMPOSSIBLE_MATCH; >+ this.levels[i] = newLevel; >+ if (newLevel < level) { >+ level = newLevel; // want to answer the weaker match >+ } >+ } >+ return level; >+} >+} >#P org.eclipse.jdt.core.tests.model >Index: src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java,v >retrieving revision 1.109 >diff -u -r1.109 JavaSearchBugsTests.java >--- src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 3 Jul 2007 16:43:09 -0000 1.109 >+++ src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 4 Jul 2007 13:37:24 -0000 >@@ -31,6 +31,7 @@ > import org.eclipse.jdt.internal.core.index.Index; > import org.eclipse.jdt.internal.core.search.AbstractSearchScope; > import org.eclipse.jdt.internal.core.search.indexing.IIndexConstants; >+import org.eclipse.jdt.internal.core.search.matching.AndPattern; > import org.eclipse.jdt.internal.core.search.indexing.IndexManager; > import org.eclipse.jdt.internal.core.search.matching.MatchLocator; > import org.eclipse.jdt.internal.core.search.matching.PatternLocator; >@@ -41,7 +42,7 @@ > */ > public class JavaSearchBugsTests extends AbstractJavaSearchTests implements IJavaSearchConstants { > private final static int UI_DECLARATIONS = DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE; >- >+ > public JavaSearchBugsTests(String name) { > super(name); > this.endChar = ""; >@@ -145,19 +146,19 @@ > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b41018/A.java", > "package b41018;\n" + >- "public class A {\n" + >- " protected void anotherMethod() {\n" + >- " methodA(null);\n" + >- " }\n" + >- " private Object methodA(ClassB.InnerInterface arg3) {\n" + >- " return null;\n" + >- " }\n" + >- "}\n" + >- "class ClassB implements InterfaceB {\n" + >- "}\n" + >- "interface InterfaceB {\n" + >- " interface InnerInterface {\n" + >- " }\n" + >+ "public class A {\n" + >+ " protected void anotherMethod() {\n" + >+ " methodA(null);\n" + >+ " }\n" + >+ " private Object methodA(ClassB.InnerInterface arg3) {\n" + >+ " return null;\n" + >+ " }\n" + >+ "}\n" + >+ "class ClassB implements InterfaceB {\n" + >+ "}\n" + >+ "interface InterfaceB {\n" + >+ " interface InnerInterface {\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("A"); >@@ -175,18 +176,18 @@ > public void testBug70827() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b70827/A.java", >- "package b70827;\n" + >- "class A {\n" + >- " private void privateMethod() {\n" + >- " }\n" + >- "}\n" + >- "class Second extends A {\n" + >- " void call() {\n" + >- " int i= privateMethod();\n" + >- " }\n" + >- " int privateMethod() {\n" + >- " return 1;\n" + >- " }\n" + >+ "package b70827;\n" + >+ "class A {\n" + >+ " private void privateMethod() {\n" + >+ " }\n" + >+ "}\n" + >+ "class Second extends A {\n" + >+ " void call() {\n" + >+ " int i= privateMethod();\n" + >+ " }\n" + >+ " int privateMethod() {\n" + >+ " return 1;\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("A"); >@@ -212,14 +213,14 @@ > }; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b71279/AA.java", >- "package b71279;\n" + >- "public class AA {\n" + >- " Unknown ref;\n" + >+ "package b71279;\n" + >+ "public class AA {\n" + >+ " Unknown ref;\n" + > "}\n" > ); > new SearchEngine(workingCopies).searchDeclarationsOfReferencedTypes(workingCopies[0], result, null); > assertSearchResults( >- "Starting search...\n" + >+ "Starting search...\n" + > "Done searching.", > result); > } >@@ -232,36 +233,36 @@ > workingCopies = new ICompilationUnit[4]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b72866/A.java", >- "package b72866;\n" + >- "public abstract class A {\n" + >- " public abstract void foo(V v);\n" + >+ "package b72866;\n" + >+ "public abstract class A {\n" + >+ " public abstract void foo(V v);\n" + > "}\n", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b72866/SX.java", >- "package b72866;\n" + >- "public class SX extends A {\n" + >- " public void foo(V v) {\n" + >- " v.bar(this);\n" + >- " }\n" + >+ "package b72866;\n" + >+ "public class SX extends A {\n" + >+ " public void foo(V v) {\n" + >+ " v.bar(this);\n" + >+ " }\n" + > "}\n" , > owner > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b72866/V.java", >- "package b72866;\n" + >- "public class V {\n" + >- " void bar(A a) {}\n" + >- " void bar(X x) {}\n" + >- " void bar(SX s) {}\n" + >+ "package b72866;\n" + >+ "public class V {\n" + >+ " void bar(A a) {}\n" + >+ " void bar(X x) {}\n" + >+ " void bar(SX s) {}\n" + > "}\n" , > owner > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b72866/X.java", >- "package b72866;\n" + >- "public class X extends A {\n" + >- " public void foo(V v) {\n" + >- " v.bar(this);\n" + >- " }\n" + >+ "package b72866;\n" + >+ "public class X extends A {\n" + >+ " public void foo(V v) {\n" + >+ " v.bar(this);\n" + >+ " }\n" + > "}\n" , > owner > ); >@@ -280,45 +281,45 @@ > public void testBug73112a() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73112/A.java", >- "package b73112;\n" + >- "public class A {\n" + >- " int fieldA73112a = 1, fieldA73112b = new Integer(2).intValue(), fieldA73112c = fieldA73112a + fieldA73112b;\n" + >- " int fieldA73112d;\n" + >- " \n" + >- " public void method(){}\n" + >+ "package b73112;\n" + >+ "public class A {\n" + >+ " int fieldA73112a = 1, fieldA73112b = new Integer(2).intValue(), fieldA73112c = fieldA73112a + fieldA73112b;\n" + >+ " int fieldA73112d;\n" + >+ " \n" + >+ " public void method(){}\n" + > "}\n"); > // search field references to first multiple field > search("fieldA73112*", FIELD, ALL_OCCURRENCES); > assertSearchResults( >- "src/b73112/A.java b73112.A.fieldA73112a [fieldA73112a] EXACT_MATCH\n" + >- "src/b73112/A.java b73112.A.fieldA73112b [fieldA73112b] EXACT_MATCH\n" + >- "src/b73112/A.java b73112.A.fieldA73112c [fieldA73112c] EXACT_MATCH\n" + >- "src/b73112/A.java b73112.A.fieldA73112c [fieldA73112a] EXACT_MATCH\n" + >- "src/b73112/A.java b73112.A.fieldA73112c [fieldA73112b] EXACT_MATCH\n" + >+ "src/b73112/A.java b73112.A.fieldA73112a [fieldA73112a] EXACT_MATCH\n" + >+ "src/b73112/A.java b73112.A.fieldA73112b [fieldA73112b] EXACT_MATCH\n" + >+ "src/b73112/A.java b73112.A.fieldA73112c [fieldA73112c] EXACT_MATCH\n" + >+ "src/b73112/A.java b73112.A.fieldA73112c [fieldA73112a] EXACT_MATCH\n" + >+ "src/b73112/A.java b73112.A.fieldA73112c [fieldA73112b] EXACT_MATCH\n" + > "src/b73112/A.java b73112.A.fieldA73112d [fieldA73112d] EXACT_MATCH" > ); > } > public void testBug73112b() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = super.getWorkingCopy("/JavaSearchBugs/src/b73112/B.java", >- "package b73112;\n" + >- "public class B {\n" + >- " int fieldB73112a, fieldB73112b = 10;\n" + >- " int fieldB73112c = fieldB73112a + fieldB73112b, fieldB73112d = fieldB73112c + fieldB73112a, fieldB73112e;\n" + >- " \n" + >- " public void method(){}\n" + >+ "package b73112;\n" + >+ "public class B {\n" + >+ " int fieldB73112a, fieldB73112b = 10;\n" + >+ " int fieldB73112c = fieldB73112a + fieldB73112b, fieldB73112d = fieldB73112c + fieldB73112a, fieldB73112e;\n" + >+ " \n" + >+ " public void method(){}\n" + > "}\n"); > // search field references to first multiple field > search("fieldB73112*", FIELD, ALL_OCCURRENCES); > assertSearchResults( >- "src/b73112/B.java b73112.B.fieldB73112a [fieldB73112a] EXACT_MATCH\n" + >- "src/b73112/B.java b73112.B.fieldB73112b [fieldB73112b] EXACT_MATCH\n" + >- "src/b73112/B.java b73112.B.fieldB73112c [fieldB73112c] EXACT_MATCH\n" + >- "src/b73112/B.java b73112.B.fieldB73112c [fieldB73112a] EXACT_MATCH\n" + >- "src/b73112/B.java b73112.B.fieldB73112c [fieldB73112b] EXACT_MATCH\n" + >- "src/b73112/B.java b73112.B.fieldB73112d [fieldB73112d] EXACT_MATCH\n" + >- "src/b73112/B.java b73112.B.fieldB73112d [fieldB73112c] EXACT_MATCH\n" + >- "src/b73112/B.java b73112.B.fieldB73112d [fieldB73112a] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112a [fieldB73112a] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112b [fieldB73112b] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112c [fieldB73112c] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112c [fieldB73112a] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112c [fieldB73112b] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112d [fieldB73112d] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112d [fieldB73112c] EXACT_MATCH\n" + >+ "src/b73112/B.java b73112.B.fieldB73112d [fieldB73112a] EXACT_MATCH\n" + > "src/b73112/B.java b73112.B.fieldB73112e [fieldB73112e] EXACT_MATCH" > ); > } >@@ -331,46 +332,46 @@ > workingCopies = new ICompilationUnit[6]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336/A.java", >- "package b73336;\n" + >+ "package b73336;\n" + > "public class A {}\n", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336/AA.java", >- "package b73336;\n" + >+ "package b73336;\n" + > "public class AA extends A {}\n", > owner > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336/B.java", >- "package b73336;\n" + >- "public class B extends X<A, A> {\n" + >- " <T> void foo(T t) {}\n" + >+ "package b73336;\n" + >+ "public class B extends X<A, A> {\n" + >+ " <T> void foo(T t) {}\n" + > "}\n", > owner > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336/C.java", >- "package b73336;\n" + >- "public class C implements I<A> {\n" + >- " public void foo() {\n" + >- " B b = new B();\n" + >- " b.<A>foo(new A());\n" + >- " }\n" + >+ "package b73336;\n" + >+ "public class C implements I<A> {\n" + >+ " public void foo() {\n" + >+ " B b = new B();\n" + >+ " b.<A>foo(new A());\n" + >+ " }\n" + > "}\n", > owner > ); > workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b73336/I.java", >- "package b73336;\n" + >- "public interface I<T> {\n" + >- " public void foo();\n" + >+ "package b73336;\n" + >+ "public interface I<T> {\n" + >+ " public void foo();\n" + > "}\n", > owner > ); > workingCopies[5] = getWorkingCopy("/JavaSearchBugs/src/b73336/X.java", >- "package b73336;\n" + >- "public class X<T, U> {\n" + >- " <V> void foo(V v) {}\n" + >- " class Member<T> {\n" + >- " void foo() {}\n" + >- " }\n" + >+ "package b73336;\n" + >+ "public class X<T, U> {\n" + >+ " <V> void foo(V v) {}\n" + >+ " class Member<T> {\n" + >+ " void foo() {}\n" + >+ " }\n" + > "}\n", > owner > ); >@@ -378,11 +379,11 @@ > IType type = workingCopies[0].getType("A"); > search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); > assertSearchResults( >- "src/b73336/AA.java b73336.AA [A] EXACT_MATCH\n" + >- "src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + >- "src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + >- "src/b73336/C.java b73336.C [A] EXACT_MATCH\n" + >- "src/b73336/C.java void b73336.C.foo() [A] EXACT_MATCH\n" + >+ "src/b73336/AA.java b73336.AA [A] EXACT_MATCH\n" + >+ "src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + >+ "src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + >+ "src/b73336/C.java b73336.C [A] EXACT_MATCH\n" + >+ "src/b73336/C.java void b73336.C.foo() [A] EXACT_MATCH\n" + > "src/b73336/C.java void b73336.C.foo() [A] EXACT_MATCH" > ); > } >@@ -390,32 +391,32 @@ > workingCopies = new ICompilationUnit[4]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336b/A.java", >- "package b73336b;\n" + >+ "package b73336b;\n" + > "public class A {}\n", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336b/B.java", >- "package b73336b;\n" + >- "public class B extends X<A, A> {\n" + >+ "package b73336b;\n" + >+ "public class B extends X<A, A> {\n" + > "}\n", > owner > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336b/C.java", >- "package b73336b;\n" + >- "public class C extends X<A, A>.Member<A> {\n" + >- " public C() {\n" + >- " new X<A, A>().super();\n" + >- " }\n" + >+ "package b73336b;\n" + >+ "public class C extends X<A, A>.Member<A> {\n" + >+ " public C() {\n" + >+ " new X<A, A>().super();\n" + >+ " }\n" + > "}\n", > owner > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336b/X.java", >- "package b73336b;\n" + >- "public class X<T, U> {\n" + >- " <V> void foo(V v) {}\n" + >- " class Member<T> {\n" + >- " void foo() {}\n" + >- " }\n" + >+ "package b73336b;\n" + >+ "public class X<T, U> {\n" + >+ " <V> void foo(V v) {}\n" + >+ " class Member<T> {\n" + >+ " void foo() {}\n" + >+ " }\n" + > "}\n", > owner > ); >@@ -424,12 +425,12 @@ > // search(type, REFERENCES, getJavaSearchScopeBugs("b73336b", false)); > search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); > assertSearchResults( >- "src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + >- "src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + >- "src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + >- "src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + >- "src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + >- "src/b73336b/C.java b73336b.C() [A] EXACT_MATCH\n" + >+ "src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + >+ "src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + >+ "src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + >+ "src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + >+ "src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + >+ "src/b73336b/C.java b73336b.C() [A] EXACT_MATCH\n" + > "src/b73336b/C.java b73336b.C() [A] EXACT_MATCH" > ); > } >@@ -438,29 +439,29 @@ > workingCopies = new ICompilationUnit[4]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336c/A.java", >- "package b73336c;\n" + >+ "package b73336c;\n" + > "public class A {}\n", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336c/B.java", >- "package b73336c;\n" + >- "public class B extends X<A, A> {\n" + >+ "package b73336c;\n" + >+ "public class B extends X<A, A> {\n" + > "}\n", > owner > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336c/C.java", >- "package b73336c;\n" + >- "public class C implements X<A, A>.Interface<A> {\n" + >- " void bar() {}\n" + >+ "package b73336c;\n" + >+ "public class C implements X<A, A>.Interface<A> {\n" + >+ " void bar() {}\n" + > "}\n", > owner > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336c/X.java", >- "package b73336c;\n" + >- "public class X<T, U> {\n" + >- " interface Interface<V> {\n" + >- " void bar();\n" + >- " }\n" + >+ "package b73336c;\n" + >+ "public class X<T, U> {\n" + >+ " interface Interface<V> {\n" + >+ " void bar();\n" + >+ " }\n" + > "}\n", > owner > ); >@@ -469,10 +470,10 @@ > // search(type, REFERENCES, getJavaSearchScopeBugs("b73336c", false)); > search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); > assertSearchResults( >- "src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + >- "src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + >- "src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + >- "src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + >+ "src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + >+ "src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + >+ "src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + >+ "src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + > "src/b73336c/C.java b73336c.C [A] EXACT_MATCH" > ); > } >@@ -485,18 +486,18 @@ > workingCopies = new ICompilationUnit[2]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73696/C.java", >- "package b73696;\n" + >- "public class C implements I {\n" + >+ "package b73696;\n" + >+ "public class C implements I {\n" + > "}", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73696/I.java", >- "package b73696;\n" + >+ "package b73696;\n" + > "public interface I {}\n", > owner > ); > IJavaSearchScope scope = SearchEngine.createJavaSearchScope(workingCopies); >- >+ > // Interface declaration > TypeDeclarationPattern pattern = new TypeDeclarationPattern( > null, >@@ -526,7 +527,7 @@ > resultCollector, > null); > assertSearchResults( >- "src/b73696/I.java b73696.I [I] EXACT_MATCH\n" + >+ "src/b73696/I.java b73696.I [I] EXACT_MATCH\n" + > "src/b73696/C.java b73696.C [C] EXACT_MATCH" > ); > } >@@ -539,30 +540,30 @@ > workingCopies = new ICompilationUnit[3]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b74776/A.java", >- "package b74776;\n" + >- "public class A {\n" + >- " /**\n" + >- " * @deprecated Use {@link #foo(IRegion)} instead\n" + >- " * @param r\n" + >- " */\n" + >- " void foo(Region r) {\n" + >- " foo((IRegion)r);\n" + >- " }\n" + >- " void foo(IRegion r) {\n" + >- " }\n" + >+ "package b74776;\n" + >+ "public class A {\n" + >+ " /**\n" + >+ " * @deprecated Use {@link #foo(IRegion)} instead\n" + >+ " * @param r\n" + >+ " */\n" + >+ " void foo(Region r) {\n" + >+ " foo((IRegion)r);\n" + >+ " }\n" + >+ " void foo(IRegion r) {\n" + >+ " }\n" + > "}\n", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b74776/IRegion.java", >- "package b74776;\n" + >- "public interface IRegion {\n" + >+ "package b74776;\n" + >+ "public interface IRegion {\n" + > "}\n", > owner > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b74776/Region.java", >- "package b74776;\n" + >- "public class Region implements IRegion {\n" + >- "\n" + >+ "package b74776;\n" + >+ "public class Region implements IRegion {\n" + >+ "\n" + > "}\n", > owner > ); >@@ -595,23 +596,23 @@ > private void setUpBug77093() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b77093/X.java", >- "package b77093;\n" + >- "public class X {\n" + >- " class Z {\n" + >- " }\n" + >- " Z[][] z_arrays;\n" + >- " X() {\n" + >- " this(new Z[10][]);\n" + >- " }\n" + >- " X(Z[][] arrays) {\n" + >- " z_arrays = arrays;\n" + >- " }\n" + >- " private void foo(Z[] args) {\n" + >- " }\n" + >- " void bar() {\n" + >- " for (int i=0; i<z_arrays.length; i++)\n" + >- " foo(z_arrays[i]);\n" + >- " }\n" + >+ "package b77093;\n" + >+ "public class X {\n" + >+ " class Z {\n" + >+ " }\n" + >+ " Z[][] z_arrays;\n" + >+ " X() {\n" + >+ " this(new Z[10][]);\n" + >+ " }\n" + >+ " X(Z[][] arrays) {\n" + >+ " z_arrays = arrays;\n" + >+ " }\n" + >+ " private void foo(Z[] args) {\n" + >+ " }\n" + >+ " void bar() {\n" + >+ " for (int i=0; i<z_arrays.length; i++)\n" + >+ " foo(z_arrays[i]);\n" + >+ " }\n" + > "}" > ); > } >@@ -634,8 +635,8 @@ > search(field, ALL_OCCURRENCES); > assertSearchResults( > "src/b77093/X.java b77093.X.z_arrays [z_arrays] EXACT_MATCH\n" + >- "src/b77093/X.java b77093.X(Z[][]) [z_arrays] EXACT_MATCH\n" + >- "src/b77093/X.java void b77093.X.bar() [z_arrays] EXACT_MATCH\n" + >+ "src/b77093/X.java b77093.X(Z[][]) [z_arrays] EXACT_MATCH\n" + >+ "src/b77093/X.java void b77093.X.bar() [z_arrays] EXACT_MATCH\n" + > "src/b77093/X.java void b77093.X.bar() [z_arrays] EXACT_MATCH" > ); > } >@@ -656,13 +657,13 @@ > public void testBug77388() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b77388/Test.java", >- "package b77388;\n" + >- "class Test {\n" + >- " Test(int a, int b) { }\n" + >- " void take(Test mc) { }\n" + >- " void run() {\n" + >- " take( new Test(1, 2) ); // space in \") )\" is in match\n" + >- " }\n" + >+ "package b77388;\n" + >+ "class Test {\n" + >+ " Test(int a, int b) { }\n" + >+ " void take(Test mc) { }\n" + >+ " void run() {\n" + >+ " take( new Test(1, 2) ); // space in \") )\" is in match\n" + >+ " }\n" + > "}"); > IType type = workingCopies[0].getType("Test"); > IMethod method = type.getMethod("Test", new String[] {"I", "I"}); >@@ -681,18 +682,18 @@ > workingCopies = new ICompilationUnit[2]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b78082/M.java", >- "package b78082;\n" + >- "public class M {\n" + >- " static int VAL=78082;\n" + >+ "package b78082;\n" + >+ "public class M {\n" + >+ " static int VAL=78082;\n" + > "}\n", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b78082/XY.java", >- "package b78082;\n" + >- "import static b78082.M.VAL;\n" + >- "public class XY {\n" + >- " double val = VAL;\n" + >- " double val2= b78082.M.VAL;\n" + >+ "package b78082;\n" + >+ "import static b78082.M.VAL;\n" + >+ "public class XY {\n" + >+ " double val = VAL;\n" + >+ " double val2= b78082.M.VAL;\n" + > "}\n", > owner > ); >@@ -701,9 +702,9 @@ > IField field = type.getField("VAL"); > search(field, ALL_OCCURRENCES); > assertSearchResults( >- "src/b78082/M.java b78082.M.VAL [VAL] EXACT_MATCH\n" + >- "src/b78082/XY.java [VAL] EXACT_MATCH\n" + >- "src/b78082/XY.java b78082.XY.val [VAL] EXACT_MATCH\n" + >+ "src/b78082/M.java b78082.M.VAL [VAL] EXACT_MATCH\n" + >+ "src/b78082/XY.java [VAL] EXACT_MATCH\n" + >+ "src/b78082/XY.java b78082.XY.val [VAL] EXACT_MATCH\n" + > "src/b78082/XY.java b78082.XY.val2 [VAL] EXACT_MATCH" > ); > } >@@ -715,29 +716,29 @@ > public void testBug79267() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79267/Test.java", >- "package b79267;\n" + >- "public class Test {\n" + >- " private static final X<String, String> BEFORE = new X<String, String>(4);\n" + >- "\n" + >- " static {\n" + >- " BEFORE.put(\"key1\",\"value1\");\n" + >- " BEFORE.put(\"key2\",\"value2\");\n" + >- " }\n" + >- " \n" + >- " private static final X<Y, Object> objectToPrimitiveMap = new X<Y, Object>(8);\n" + >- "\n" + >- " static {\n" + >- " objectToPrimitiveMap.put(new Y<Object>(new Object()), new Object());\n" + >- " }\n" + >- "}\n" + >- "\n" + >- "class X<T, U> {\n" + >- " X(int x) {}\n" + >- " void put(T t, U u) {}\n" + >- "}\n" + >- "\n" + >- "class Y<T> {\n" + >- " Y(T t) {}\n" + >+ "package b79267;\n" + >+ "public class Test {\n" + >+ " private static final X<String, String> BEFORE = new X<String, String>(4);\n" + >+ "\n" + >+ " static {\n" + >+ " BEFORE.put(\"key1\",\"value1\");\n" + >+ " BEFORE.put(\"key2\",\"value2\");\n" + >+ " }\n" + >+ " \n" + >+ " private static final X<Y, Object> objectToPrimitiveMap = new X<Y, Object>(8);\n" + >+ "\n" + >+ " static {\n" + >+ " objectToPrimitiveMap.put(new Y<Object>(new Object()), new Object());\n" + >+ " }\n" + >+ "}\n" + >+ "\n" + >+ "class X<T, U> {\n" + >+ " X(int x) {}\n" + >+ " void put(T t, U u) {}\n" + >+ "}\n" + >+ "\n" + >+ "class Y<T> {\n" + >+ " Y(T t) {}\n" + > "}\n"); > // search field references > IType type = workingCopies[0].getType("Test"); >@@ -746,8 +747,8 @@ > field = type.getField("objectToPrimitiveMap"); > search(field, REFERENCES); > assertSearchResults( >- "src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + >- "src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + >+ "src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + >+ "src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + > "src/b79267/Test.java b79267.Test.static {} [objectToPrimitiveMap] EXACT_MATCH" > ); > } >@@ -759,15 +760,15 @@ > public void testBug79378() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79378/A.java", >- "package b79378;\n" + >- "public class Test {\n" + >- " void foo79378(String s, RuntimeException[] exceptions) {}\n" + >- " void foo79378(RuntimeException[] exceptions) {}\n" + >- " void call() {\n" + >- " String s= null; \n" + >- " Exception[] exceptions= null;\n" + >- " foo79378(s, exceptions);\n" + >- " }\n" + >+ "package b79378;\n" + >+ "public class Test {\n" + >+ " void foo79378(String s, RuntimeException[] exceptions) {}\n" + >+ " void foo79378(RuntimeException[] exceptions) {}\n" + >+ " void call() {\n" + >+ " String s= null; \n" + >+ " Exception[] exceptions= null;\n" + >+ " foo79378(s, exceptions);\n" + >+ " }\n" + > "}\n" > ); > IMethod[] methods = workingCopies[0].getType("Test").getMethods(); >@@ -781,15 +782,15 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79378/A.java", >- "package b79378;\n" + >- "public class Test {\n" + >- " void foo79378(String s, RuntimeException[] exceptions) {}\n" + >- " void foo79378(RuntimeException[] exceptions) {}\n" + >- " void call() {\n" + >- " String s= null; \n" + >- " Exception[] exceptions= null;\n" + >- " foo79378(s, exceptions);\n" + >- " }\n" + >+ "package b79378;\n" + >+ "public class Test {\n" + >+ " void foo79378(String s, RuntimeException[] exceptions) {}\n" + >+ " void foo79378(RuntimeException[] exceptions) {}\n" + >+ " void call() {\n" + >+ " String s= null; \n" + >+ " Exception[] exceptions= null;\n" + >+ " foo79378(s, exceptions);\n" + >+ " }\n" + > "}\n" > ); > IMethod[] methods = workingCopies[0].getType("Test").getMethods(); >@@ -805,32 +806,32 @@ > public void testBug79803() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79803/A.java", >- "package b79803;\n" + >- "class A<A> {\n" + >- " A a;\n" + >- " b79803.A pa= new b79803.A();\n" + >- "}\n" >+ "package b79803;\n" + >+ "class A<A> {\n" + >+ " A a;\n" + >+ " b79803.A pa= new b79803.A();\n" + >+ "}\n" > ); > IType type = workingCopies[0].getType("A"); > search(type, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b79803/A.java b79803.A.pa [b79803.A] EXACT_MATCH\n" + >+ "src/b79803/A.java b79803.A.pa [b79803.A] EXACT_MATCH\n" + > "src/b79803/A.java b79803.A.pa [b79803.A] EXACT_MATCH" > ); > } > public void testBug79803string() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79803/A.java", >- "package b79803;\n" + >- "class A<A> {\n" + >- " A a;\n" + >- " b79803.A pa= new b79803.A();\n" + >- "}\n" >+ "package b79803;\n" + >+ "class A<A> {\n" + >+ " A a;\n" + >+ " b79803.A pa= new b79803.A();\n" + >+ "}\n" > ); > search("A", TYPE, REFERENCES); > assertSearchResults( >- "src/b79803/A.java b79803.A.a [A] EXACT_MATCH\n" + >- "src/b79803/A.java b79803.A.pa [A] EXACT_MATCH\n" + >+ "src/b79803/A.java b79803.A.a [A] EXACT_MATCH\n" + >+ "src/b79803/A.java b79803.A.pa [A] EXACT_MATCH\n" + > "src/b79803/A.java b79803.A.pa [A] EXACT_MATCH" > ); > } >@@ -843,17 +844,17 @@ > workingCopies = new ICompilationUnit[2]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79860/X.java", >- "package b79860;\n" + >- "public class X<T extends A> { }\n" + >+ "package b79860;\n" + >+ "public class X<T extends A> { }\n" + > "class A { }", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b79860/Y.java", >- "package b79860;\n" + >- "public class Y<T extends B&I1&I2&I3> { }\n" + >- "class B { }\n" + >- "interface I1 {}\n" + >- "interface I2 {}\n" + >+ "package b79860;\n" + >+ "public class Y<T extends B&I1&I2&I3> { }\n" + >+ "class B { }\n" + >+ "interface I1 {}\n" + >+ "interface I2 {}\n" + > "interface I3 {}\n", > owner > ); >@@ -867,24 +868,24 @@ > workingCopies = new ICompilationUnit[2]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79860/X.java", >- "package b79860;\n" + >- "public class X<T extends A> { }\n" + >+ "package b79860;\n" + >+ "public class X<T extends A> { }\n" + > "class A { }", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b79860/Y.java", >- "package b79860;\n" + >- "public class Y<T extends B&I1&I2&I3> { }\n" + >- "class B { }\n" + >- "interface I1 {}\n" + >- "interface I2 {}\n" + >+ "package b79860;\n" + >+ "public class Y<T extends B&I1&I2&I3> { }\n" + >+ "class B { }\n" + >+ "interface I1 {}\n" + >+ "interface I2 {}\n" + > "interface I3 {}\n", > owner > ); > search("I?", TYPE, REFERENCES); > assertSearchResults( >- "src/b79860/Y.java b79860.Y [I1] EXACT_MATCH\n" + >- "src/b79860/Y.java b79860.Y [I2] EXACT_MATCH\n" + >+ "src/b79860/Y.java b79860.Y [I1] EXACT_MATCH\n" + >+ "src/b79860/Y.java b79860.Y [I2] EXACT_MATCH\n" + > "src/b79860/Y.java b79860.Y [I3] EXACT_MATCH" > ); > } >@@ -896,14 +897,14 @@ > private void setUpBug79990() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79990/Test.java", >- "package b79990;\n" + >- "class Test<T> {\n" + >- " public void first(Exception num) {}\n" + >- " public void second(T t) {}\n" + >- "}\n" + >- "class Sub extends Test<Exception> {\n" + >- " public void first(Exception num) {}\n" + >- " public void second(Exception t) {}\n" + >+ "package b79990;\n" + >+ "class Test<T> {\n" + >+ " public void first(Exception num) {}\n" + >+ " public void second(T t) {}\n" + >+ "}\n" + >+ "class Sub extends Test<Exception> {\n" + >+ " public void first(Exception num) {}\n" + >+ " public void second(Exception t) {}\n" + > "}\n" > );} > public void testBug79990() throws CoreException { >@@ -911,7 +912,7 @@ > IMethod method = workingCopies[0].getType("Test").getMethods()[0]; > search(method, DECLARATIONS); > assertSearchResults( >- "src/b79990/Test.java void b79990.Test.first(Exception) [first] EXACT_MATCH\n" + >+ "src/b79990/Test.java void b79990.Test.first(Exception) [first] EXACT_MATCH\n" + > "src/b79990/Test.java void b79990.Sub.first(Exception) [first] EXACT_MATCH" > ); > } >@@ -920,7 +921,7 @@ > IMethod method = workingCopies[0].getType("Test").getMethods()[1]; > search(method, DECLARATIONS); > assertSearchResults( >- "src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + >+ "src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + > "src/b79990/Test.java void b79990.Sub.second(Exception) [second] EXACT_MATCH" > ); > } >@@ -929,25 +930,25 @@ > IMethod method = workingCopies[0].getType("Test").getMethods()[1]; > search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + >+ "src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + > "src/b79990/Test.java void b79990.Sub.second(Exception) [second] EXACT_MATCH" > ); > } > public void testBug79990d() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79990/Test.java", >- "package b79990;\n" + >- "public class Test<T> {\n" + >- " void methodT(T t) {}\n" + >- "}\n" + >- "class Sub<X> extends Test<X> {\n" + >- " void methodT(X x) {} // overrides Super#methodT(T)\n" + >+ "package b79990;\n" + >+ "public class Test<T> {\n" + >+ " void methodT(T t) {}\n" + >+ "}\n" + >+ "class Sub<X> extends Test<X> {\n" + >+ " void methodT(X x) {} // overrides Super#methodT(T)\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Test").getMethods()[0]; > search(method, DECLARATIONS); > assertSearchResults( >- "src/b79990/Test.java void b79990.Test.methodT(T) [methodT] EXACT_MATCH\n" + >+ "src/b79990/Test.java void b79990.Test.methodT(T) [methodT] EXACT_MATCH\n" + > "src/b79990/Test.java void b79990.Sub.methodT(X) [methodT] EXACT_MATCH" > ); > } >@@ -959,14 +960,14 @@ > public void testBug80084() throws CoreException, JavaModelException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80084/Test.java", >- "package b80084;\n" + >- "class List<T> {}\n" + >- "public class Test {\n" + >- " void foo(List<Exception> le) {}\n" + >- " void bar() {\n" + >- " List<Exception> le = new List<Exception>();\n" + >- " foo(le);\n" + >- " }\n" + >+ "package b80084;\n" + >+ "class List<T> {}\n" + >+ "public class Test {\n" + >+ " void foo(List<Exception> le) {}\n" + >+ " void bar() {\n" + >+ " List<Exception> le = new List<Exception>();\n" + >+ " foo(le);\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("Test"); >@@ -984,19 +985,19 @@ > private void setUpBug80194() throws CoreException, JavaModelException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80194/Test.java", >- "package b80194;\n" + >- "interface Map<K, V> {}\n" + >- "class HashMap<K, V> implements Map {}\n" + >- "public class Test {\n" + >- " void callDoSomething() {\n" + >- " final Map<String, Object> map = new HashMap<String, Object>();\n" + >- " doSomething(map);\n" + >- " doSomething(map, true);\n" + >- " doSomething(true);\n" + >- " }\n" + >- " void doSomething(final Map<String, Object> map) {}\n" + >- " void doSomething(final Map<String, Object> map, final boolean flag) {}\n" + >- " void doSomething(final boolean flag) {}\n" + >+ "package b80194;\n" + >+ "interface Map<K, V> {}\n" + >+ "class HashMap<K, V> implements Map {}\n" + >+ "public class Test {\n" + >+ " void callDoSomething() {\n" + >+ " final Map<String, Object> map = new HashMap<String, Object>();\n" + >+ " doSomething(map);\n" + >+ " doSomething(map, true);\n" + >+ " doSomething(true);\n" + >+ " }\n" + >+ " void doSomething(final Map<String, Object> map) {}\n" + >+ " void doSomething(final Map<String, Object> map, final boolean flag) {}\n" + >+ " void doSomething(final boolean flag) {}\n" + > "}\n" > ); > } >@@ -1022,8 +1023,8 @@ > setUpBug80194(); > search("doSomething(boolean)", METHOD, ALL_OCCURRENCES); > assertSearchResults( >- "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + >- "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + >+ "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + >+ "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + > "src/b80194/Test.java void b80194.Test.doSomething(boolean) [doSomething] EXACT_MATCH" > ); > } >@@ -1031,8 +1032,8 @@ > setUpBug80194(); > search("doSomething(Map<String,Object>)", METHOD, ALL_OCCURRENCES); > assertSearchResults( >- "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + >- "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + >+ "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + >+ "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + > "src/b80194/Test.java void b80194.Test.doSomething(Map<String,Object>) [doSomething] EXACT_MATCH" > ); > } >@@ -1040,7 +1041,7 @@ > setUpBug80194(); > search("doSomething(Map<String,Object>,boolean)", METHOD, ALL_OCCURRENCES); > assertSearchResults( >- "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map, true)] EXACT_MATCH\n" + >+ "src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map, true)] EXACT_MATCH\n" + > "src/b80194/Test.java void b80194.Test.doSomething(Map<String,Object>, boolean) [doSomething] EXACT_MATCH" > ); > } >@@ -1053,16 +1054,16 @@ > workingCopies = new ICompilationUnit[2]; > WorkingCopyOwner owner = new WorkingCopyOwner() {}; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80223/a/A.java", >- "package b80223.a;\n" + >- "public class A {\n" + >- " void m() {}\n" + >+ "package b80223.a;\n" + >+ "public class A {\n" + >+ " void m() {}\n" + > "}", > owner > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b80223/b/B.java", >- "package b80223.b;\n" + >- "public class B extends b80223.a.A {\n" + >- " void m() {}\n" + >+ "package b80223.b;\n" + >+ "public class B extends b80223.a.A {\n" + >+ " void m() {}\n" + > "}", > owner > ); >@@ -1078,7 +1079,7 @@ > /** > * Bug 80264: [search] Search for method declarations in workspace, disregarding declaring type > * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=80264" >- * >+ * > * Following tests also verify > * Bug 87778: [search] doesn't find all declarations of method with covariant return type > * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=87778" >@@ -1087,18 +1088,18 @@ > private void setUpBug80264_Methods() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Methods.java", >- "package b80264;\n" + >- "class Methods {\n" + >- " Methods stable() { return null; }\n" + >- " Methods covariant() { return null; }\n" + >- "}\n" + >- "class MethodsSub extends Methods {\n" + >- " Methods stable() { return null; }\n" + >- " MethodsSub covariant() { return null; }\n" + >- "}\n" + >- "class MethodsOther {\n" + >- " Methods stable() { return null; }\n" + >- " Methods covariant() { return null; }\n" + >+ "package b80264;\n" + >+ "class Methods {\n" + >+ " Methods stable() { return null; }\n" + >+ " Methods covariant() { return null; }\n" + >+ "}\n" + >+ "class MethodsSub extends Methods {\n" + >+ " Methods stable() { return null; }\n" + >+ " MethodsSub covariant() { return null; }\n" + >+ "}\n" + >+ "class MethodsOther {\n" + >+ " Methods stable() { return null; }\n" + >+ " Methods covariant() { return null; }\n" + > "}\n" > ); > } >@@ -1109,9 +1110,9 @@ > search(methods[0], DECLARATIONS); > search(methods[1], DECLARATIONS); > assertSearchResults( >- "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + > "src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH" > ); > } >@@ -1122,10 +1123,10 @@ > search(methods[0], DECLARATIONS|IGNORE_DECLARING_TYPE); > search(methods[1], DECLARATIONS|IGNORE_DECLARING_TYPE); > assertSearchResults( >- "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + > "src/b80264/Methods.java Methods b80264.MethodsOther.covariant() [covariant] EXACT_MATCH" > ); > } >@@ -1136,9 +1137,9 @@ > search(methods[0], DECLARATIONS|IGNORE_RETURN_TYPE); > search(methods[1], DECLARATIONS|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + > "src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH" > ); > } >@@ -1149,11 +1150,11 @@ > search(methods[0], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > search(methods[1], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + >- "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + >- "src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + >+ "src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + >+ "src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH\n" + > "src/b80264/Methods.java Methods b80264.MethodsOther.covariant() [covariant] EXACT_MATCH" > ); > } >@@ -1161,15 +1162,15 @@ > private void setUpBug80264_Classes() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Classes.java", >- "package b80264;\n" + >- "class Classes {\n" + >- " class Inner {}\n" + >- "}\n" + >- "class ClassesSub extends Classes {\n" + >- " class Inner {}\n" + >- "}\n" + >- "class ClassesOther {\n" + >- " class Inner {}\n" + >+ "package b80264;\n" + >+ "class Classes {\n" + >+ " class Inner {}\n" + >+ "}\n" + >+ "class ClassesSub extends Classes {\n" + >+ " class Inner {}\n" + >+ "}\n" + >+ "class ClassesOther {\n" + >+ " class Inner {}\n" + > "}\n" > ); > } >@@ -1186,8 +1187,8 @@ > IType type = workingCopies[0].getType("Classes").getType("Inner"); > search(type, DECLARATIONS|IGNORE_DECLARING_TYPE); > assertSearchResults( >- "src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + >- "src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + >+ "src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + >+ "src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + > "src/b80264/Classes.java b80264.ClassesOther$Inner [Inner] EXACT_MATCH" > ); > } >@@ -1204,8 +1205,8 @@ > IType type = workingCopies[0].getType("Classes").getType("Inner"); > search(type, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + >- "src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + >+ "src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + >+ "src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + > "src/b80264/Classes.java b80264.ClassesOther$Inner [Inner] EXACT_MATCH" > ); > } >@@ -1213,18 +1214,18 @@ > private void setUpBug80264_Fields() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Fields.java", >- "package b80264;\n" + >- "class Fields {\n" + >- " Fields field1;\n" + >- " Fields field2;\n" + >- "}\n" + >- "class FieldsSub extends Fields {\n" + >- " Fields field1;\n" + >- " FieldsSub field2;\n" + >- "}\n" + >- "class FieldsOther {\n" + >- " Fields field1;\n" + >- " Fields field2;\n" + >+ "package b80264;\n" + >+ "class Fields {\n" + >+ " Fields field1;\n" + >+ " Fields field2;\n" + >+ "}\n" + >+ "class FieldsSub extends Fields {\n" + >+ " Fields field1;\n" + >+ " FieldsSub field2;\n" + >+ "}\n" + >+ "class FieldsOther {\n" + >+ " Fields field1;\n" + >+ " Fields field2;\n" + > "}\n" > ); > } >@@ -1235,7 +1236,7 @@ > search(fields[0], DECLARATIONS); > search(fields[1], DECLARATIONS); > assertSearchResults( >- "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + > "src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH" > ); > } >@@ -1246,10 +1247,10 @@ > search(fields[0], DECLARATIONS|IGNORE_DECLARING_TYPE); > search(fields[1], DECLARATIONS|IGNORE_DECLARING_TYPE); > assertSearchResults( >- "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + >- "src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + >- "src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + >- "src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + > "src/b80264/Fields.java b80264.FieldsOther.field2 [field2] EXACT_MATCH" > ); > } >@@ -1260,7 +1261,7 @@ > search(fields[0], DECLARATIONS|IGNORE_RETURN_TYPE); > search(fields[1], DECLARATIONS|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + > "src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH" > ); > } >@@ -1271,11 +1272,11 @@ > search(fields[0], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > search(fields[1], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + >- "src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + >- "src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + >- "src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + >- "src/b80264/Fields.java b80264.FieldsSub.field2 [field2] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + >+ "src/b80264/Fields.java b80264.FieldsSub.field2 [field2] EXACT_MATCH\n" + > "src/b80264/Fields.java b80264.FieldsOther.field2 [field2] EXACT_MATCH" > ); > } >@@ -1287,20 +1288,20 @@ > public void testBug80890() throws CoreException, JavaModelException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80890/A.java", >- "package b80890;\n" + >- "public class A {\n" + >- " protected void foo(Exception e) {}\n" + >- " protected void foo(String s) {}\n" + >- "}\n" + >- "class B1 extends A {\n" + >- " public void bar1() {\n" + >- " foo(null);\n" + >- " }\n" + >- "}\n" + >- "class B2 extends A {\n" + >- " public void bar2() {\n" + >- " foo(null);\n" + >- " }\n" + >+ "package b80890;\n" + >+ "public class A {\n" + >+ " protected void foo(Exception e) {}\n" + >+ " protected void foo(String s) {}\n" + >+ "}\n" + >+ "class B1 extends A {\n" + >+ " public void bar1() {\n" + >+ " foo(null);\n" + >+ " }\n" + >+ "}\n" + >+ "class B2 extends A {\n" + >+ " public void bar2() {\n" + >+ " foo(null);\n" + >+ " }\n" + > "}\n" > ); > // search for first and second method should both return 2 inaccurate matches >@@ -1310,9 +1311,9 @@ > method = type.getMethods()[1]; > search(method, REFERENCES); > assertSearchResults( >- "src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + >- "src/b80890/A.java void b80890.B2.bar2() [foo(null)] POTENTIAL_MATCH\n" + >- "src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + >+ "src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + >+ "src/b80890/A.java void b80890.B2.bar2() [foo(null)] POTENTIAL_MATCH\n" + >+ "src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + > "src/b80890/A.java void b80890.B2.bar2() [foo(null)] POTENTIAL_MATCH" > ); > } >@@ -1337,18 +1338,18 @@ > public void testBug81084a() throws CoreException, JavaModelException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084a/Test.java", >- "package b81084a;\n" + >- "class List<E> {}\n" + >- "public class Test {\n" + >- " class Element{}\n" + >- " static class Inner {\n" + >- " private final List<Element> fList1;\n" + >- " private final List<Test.Element> fList2;\n" + >- " public Inner(List<Element> list) {\n" + >- " fList1 = list;\n" + >- " fList2 = list;\n" + >- " }\n" + >- " }\n" + >+ "package b81084a;\n" + >+ "class List<E> {}\n" + >+ "public class Test {\n" + >+ " class Element{}\n" + >+ " static class Inner {\n" + >+ " private final List<Element> fList1;\n" + >+ " private final List<Test.Element> fList2;\n" + >+ " public Inner(List<Element> list) {\n" + >+ " fList1 = list;\n" + >+ " fList2 = list;\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("Test").getType("Inner"); >@@ -1357,49 +1358,49 @@ > IField field2 = type.getField("fList2"); > search(field2, REFERENCES); > assertSearchResults( >- "src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + >+ "src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + > "src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList2] EXACT_MATCH" > ); > } > public void testBug81084string() throws CoreException, JavaModelException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084a/Test.java", >- "package b81084a;\n" + >- "class List<E> {}\n" + >- "public class Test {\n" + >- " class Element{}\n" + >- " static class Inner {\n" + >- " private final List<Element> fList1;\n" + >- " private final List<Test.Element> fList2;\n" + >- " public Inner(List<Element> list) {\n" + >- " fList1 = list;\n" + >- " fList2 = list;\n" + >- " }\n" + >- " }\n" + >+ "package b81084a;\n" + >+ "class List<E> {}\n" + >+ "public class Test {\n" + >+ " class Element{}\n" + >+ " static class Inner {\n" + >+ " private final List<Element> fList1;\n" + >+ " private final List<Test.Element> fList2;\n" + >+ " public Inner(List<Element> list) {\n" + >+ " fList1 = list;\n" + >+ " fList2 = list;\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > search("fList1", FIELD, REFERENCES); > search("fList2", FIELD, REFERENCES); > assertSearchResults( >- "src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + >+ "src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + > "src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList2] EXACT_MATCH" > ); > } > public void testBug81084b() throws CoreException, JavaModelException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084b/Test.java", >- "package b81084b;\n" + >- "class List<E> {}\n" + >- "public class Test {\n" + >- " class Element{}\n" + >- " static class Inner {\n" + >- " private final List<? extends Element> fListb1;\n" + >- " private final List<? extends Test.Element> fListb2;\n" + >- " public Inner(List<Element> list) {\n" + >- " fListb1 = list;\n" + >- " fListb2 = list;\n" + >- " }\n" + >- " }\n" + >+ "package b81084b;\n" + >+ "class List<E> {}\n" + >+ "public class Test {\n" + >+ " class Element{}\n" + >+ " static class Inner {\n" + >+ " private final List<? extends Element> fListb1;\n" + >+ " private final List<? extends Test.Element> fListb2;\n" + >+ " public Inner(List<Element> list) {\n" + >+ " fListb1 = list;\n" + >+ " fListb2 = list;\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > // search element patterns >@@ -1409,7 +1410,7 @@ > IField field2 = type.getField("fListb2"); > search(field2, REFERENCES); > assertSearchResults( >- "src/b81084b/Test.java b81084b.Test$Inner(List<Element>) [fListb1] EXACT_MATCH\n" + >+ "src/b81084b/Test.java b81084b.Test$Inner(List<Element>) [fListb1] EXACT_MATCH\n" + > "src/b81084b/Test.java b81084b.Test$Inner(List<Element>) [fListb2] EXACT_MATCH" > ); > } >@@ -1436,22 +1437,22 @@ > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82088/m/Test.java", > "package b82088.m;\n" + >- "/**\n" + >- " * @see #setA(A)\n" + >- " */\n" + >- "public class Test {\n" + >- " A a;\n" + >- " public void setA(A a) {\n" + >- " this.a = a;\n" + >- " }\n" + >- "}\n" + >+ "/**\n" + >+ " * @see #setA(A)\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " A a;\n" + >+ " public void setA(A a) {\n" + >+ " this.a = a;\n" + >+ " }\n" + >+ "}\n" + > "class A {}\n" > ); > IType type = workingCopies[0].getType("A"); > search(type, REFERENCES); > assertSearchResults( >- "src/b82088/m/Test.java b82088.m.Test [A] EXACT_MATCH\n" + >- "src/b82088/m/Test.java b82088.m.Test.a [A] EXACT_MATCH\n" + >+ "src/b82088/m/Test.java b82088.m.Test [A] EXACT_MATCH\n" + >+ "src/b82088/m/Test.java b82088.m.Test.a [A] EXACT_MATCH\n" + > "src/b82088/m/Test.java void b82088.m.Test.setA(A) [A] EXACT_MATCH" > ); > } >@@ -1459,22 +1460,22 @@ > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82088/c/Test.java", > "package b82088.c;\n" + >- "/**\n" + >- " * @see #Test(A)\n" + >- " */\n" + >- "public class Test {\n" + >- " A a;\n" + >- " Test(A a) {\n" + >- " this.a = a;\n" + >- " }\n" + >- "}\n" + >+ "/**\n" + >+ " * @see #Test(A)\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " A a;\n" + >+ " Test(A a) {\n" + >+ " this.a = a;\n" + >+ " }\n" + >+ "}\n" + > "class A {}\n" > ); > IType type = workingCopies[0].getType("A"); > search(type, REFERENCES); > assertSearchResults( >- "src/b82088/c/Test.java b82088.c.Test [A] EXACT_MATCH\n" + >- "src/b82088/c/Test.java b82088.c.Test.a [A] EXACT_MATCH\n" + >+ "src/b82088/c/Test.java b82088.c.Test [A] EXACT_MATCH\n" + >+ "src/b82088/c/Test.java b82088.c.Test.a [A] EXACT_MATCH\n" + > "src/b82088/c/Test.java b82088.c.Test(A) [A] EXACT_MATCH" > ); > } >@@ -1486,10 +1487,10 @@ > private void setUpBug82208() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82208/Test.java", >- "package b82208;\n" + >- "interface B82208_I {}\n" + >- "enum B82208_E {}\n" + >- "@interface B82208_A {}\n" + >+ "package b82208;\n" + >+ "interface B82208_I {}\n" + >+ "enum B82208_E {}\n" + >+ "@interface B82208_A {}\n" + > "public class B82208 {}\n" > ); > } >@@ -1498,9 +1499,9 @@ > setUpBug82208(); > search("B82208*", TYPE, ALL_OCCURRENCES); > assertSearchResults( >- "src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + >- "src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + >- "src/b82208/Test.java b82208.B82208_A [B82208_A] EXACT_MATCH\n" + >+ "src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + >+ "src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + >+ "src/b82208/Test.java b82208.B82208_A [B82208_A] EXACT_MATCH\n" + > "src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" > ); > } >@@ -1541,7 +1542,7 @@ > setUpBug82208(); > search("B82208*", CLASS_AND_INTERFACE, ALL_OCCURRENCES); > assertSearchResults( >- "src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + >+ "src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + > "src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" > ); > } >@@ -1550,7 +1551,7 @@ > setUpBug82208(); > search("B82208*", CLASS_AND_ENUM, ALL_OCCURRENCES); > assertSearchResults( >- "src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + >+ "src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + > "src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" > ); > } >@@ -1563,27 +1564,27 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82673/Test.java", >- "package b82673;\n" + >- "public class Test {\n" + >- " void test1() {\n" + >- " class Dummy {};\n" + >- " Dummy d = new Dummy();\n" + >- " new X();\n" + >- " }\n" + >- " \n" + >- " void test2() {\n" + >- " class Dummy {};\n" + >- " Dummy d = new Dummy();\n" + >- " new Y();\n" + >- " }\n" + >- "}\n" + >- "class X {}\n" + >+ "package b82673;\n" + >+ "public class Test {\n" + >+ " void test1() {\n" + >+ " class Dummy {};\n" + >+ " Dummy d = new Dummy();\n" + >+ " new X();\n" + >+ " }\n" + >+ " \n" + >+ " void test2() {\n" + >+ " class Dummy {};\n" + >+ " Dummy d = new Dummy();\n" + >+ " new Y();\n" + >+ " }\n" + >+ "}\n" + >+ "class X {}\n" + > "class Y {}\n" > ); > IType type = selectType(workingCopies[0], "Test").getMethod("test1", new String[0]).getType("Dummy", 1); > search(type, REFERENCES); > assertSearchResults( >- "src/b82673/Test.java void b82673.Test.test1() [Dummy] EXACT_MATCH\n" + >+ "src/b82673/Test.java void b82673.Test.test1() [Dummy] EXACT_MATCH\n" + > "src/b82673/Test.java void b82673.Test.test1() [Dummy] EXACT_MATCH" > ); > } >@@ -1596,26 +1597,26 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83012/Test.java", >- "package b83012;\n" + >- "@interface A {\n" + >- " String value() default \"\";\n" + >- "}\n" + >- "@interface Main {\n" + >- " A first() default @A(\"Void\");\n" + >- " A second();\n" + >- "}\n" + >- "\n" + >- "@Main(first=@A(\"\"), second=@A(\"2\"))\n" + >- "public class Test {\n" + >+ "package b83012;\n" + >+ "@interface A {\n" + >+ " String value() default \"\";\n" + >+ "}\n" + >+ "@interface Main {\n" + >+ " A first() default @A(\"Void\");\n" + >+ " A second();\n" + >+ "}\n" + >+ "\n" + >+ "@Main(first=@A(\"\"), second=@A(\"2\"))\n" + >+ "public class Test {\n" + > "}\n" > ); > IType type = selectType(workingCopies[0], "A"); > search(type, REFERENCES); > assertSearchResults( >- "src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + >- "src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + >- "src/b83012/Test.java A b83012.Main.second() [A] EXACT_MATCH\n" + >- "src/b83012/Test.java b83012.Test [A] EXACT_MATCH\n" + >+ "src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + >+ "src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + >+ "src/b83012/Test.java A b83012.Main.second() [A] EXACT_MATCH\n" + >+ "src/b83012/Test.java b83012.Test [A] EXACT_MATCH\n" + > "src/b83012/Test.java b83012.Test [A] EXACT_MATCH" > ); > } >@@ -1628,38 +1629,38 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", >- "package b83230;\n" + >- "@interface Author {\n" + >- " String[] authorName() default \"FREDERIC\";\n" + >- " int[] age();\n" + >- " int ageMin = 20;\n" + >- " @interface Surname {}\n" + >- " class Address {\n" + >- " String city;\n" + >- " public void foo(Object obj) {}\n" + >- " }\n" + >+ "package b83230;\n" + >+ "@interface Author {\n" + >+ " String[] authorName() default \"FREDERIC\";\n" + >+ " int[] age();\n" + >+ " int ageMin = 20;\n" + >+ " @interface Surname {}\n" + >+ " class Address {\n" + >+ " String city;\n" + >+ " public void foo(Object obj) {}\n" + >+ " }\n" + > "}\n" + > "\n" + >- "@Author(authorName=\"FREDERIC\", age=41)\n" + >- "public class Test {\n" + >- " @Author(authorName={\"FREDERIC\", \"JEROME\"}, age={41, 35} )\n" + >- " Test() {}\n" + >- " @Author(authorName=\"PHILIPPE\", age=37)\n" + >- " void foo() {\n" + >- " @Author(authorName=\"FREDERIC\", age=41)\n" + >- " final Object obj = new Object() {};\n" + >- " @Author(authorName=\"FREDERIC\", age=41)\n" + >- " class Local {\n" + >- " @Author(authorName=\"FREDERIC\", age=41)\n" + >- " String foo() {\n" + >- " Author.Address address = new Author.Address();\n" + >- " address.foo(obj);\n" + >- " return address.city;\n" + >- " }\n" + >- " }\n" + >- " }\n" + >- " @Author(authorName=\"DAVID\", age=28)\n" + >- " int min = Author.ageMin;\n" + >+ "@Author(authorName=\"FREDERIC\", age=41)\n" + >+ "public class Test {\n" + >+ " @Author(authorName={\"FREDERIC\", \"JEROME\"}, age={41, 35} )\n" + >+ " Test() {}\n" + >+ " @Author(authorName=\"PHILIPPE\", age=37)\n" + >+ " void foo() {\n" + >+ " @Author(authorName=\"FREDERIC\", age=41)\n" + >+ " final Object obj = new Object() {};\n" + >+ " @Author(authorName=\"FREDERIC\", age=41)\n" + >+ " class Local {\n" + >+ " @Author(authorName=\"FREDERIC\", age=41)\n" + >+ " String foo() {\n" + >+ " Author.Address address = new Author.Address();\n" + >+ " address.foo(obj);\n" + >+ " return address.city;\n" + >+ " }\n" + >+ " }\n" + >+ " }\n" + >+ " @Author(authorName=\"DAVID\", age=28)\n" + >+ " int min = Author.ageMin;\n" + > "}\n" > ); > } >@@ -1669,12 +1670,12 @@ > IMethod method = selectMethod(workingCopies[0], "authorName"); > search(method, REFERENCES); > assertSearchResults( >- "src/b83230/Test.java b83230.Test [authorName] EXACT_MATCH\n" + >- "src/b83230/Test.java b83230.Test.min [authorName] EXACT_MATCH\n" + >- "src/b83230/Test.java b83230.Test() [authorName] EXACT_MATCH\n" + >- "src/b83230/Test.java void b83230.Test.foo():Local#1 [authorName] EXACT_MATCH\n" + >- "src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [authorName] EXACT_MATCH\n" + >- "src/b83230/Test.java void b83230.Test.foo() [authorName] EXACT_MATCH\n" + >+ "src/b83230/Test.java b83230.Test [authorName] EXACT_MATCH\n" + >+ "src/b83230/Test.java b83230.Test.min [authorName] EXACT_MATCH\n" + >+ "src/b83230/Test.java b83230.Test() [authorName] EXACT_MATCH\n" + >+ "src/b83230/Test.java void b83230.Test.foo():Local#1 [authorName] EXACT_MATCH\n" + >+ "src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [authorName] EXACT_MATCH\n" + >+ "src/b83230/Test.java void b83230.Test.foo() [authorName] EXACT_MATCH\n" + > "src/b83230/Test.java void b83230.Test.foo() [authorName] EXACT_MATCH" > ); > } >@@ -1693,7 +1694,7 @@ > IType type = selectType(workingCopies[0], "Address"); > search(type, REFERENCES); > assertSearchResults( >- "src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [Author.Address] EXACT_MATCH\n" + >+ "src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [Author.Address] EXACT_MATCH\n" + > "src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [Author.Address] EXACT_MATCH" > ); > } >@@ -1728,24 +1729,24 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", >- "package b83230;\n" + >- "@interface Annot {\n" + >+ "package b83230;\n" + >+ "@interface Annot {\n" + > " int value();\n" + > "}\n" + >- "@Annot(41)\n" + >- "public class Test {\n" + >- " @Annot(10)\n" + >- " public void foo() {}\n" + >- " @Annot(21)\n" + >- " int bar;\n" + >+ "@Annot(41)\n" + >+ "public class Test {\n" + >+ " @Annot(10)\n" + >+ " public void foo() {}\n" + >+ " @Annot(21)\n" + >+ " int bar;\n" + > "}\n" > ); > IType type = selectType(workingCopies[0], "Annot"); > IMethod method = type.getMethod("value", new String[0]); > search(method, REFERENCES); > assertSearchResults( >- "src/b83230/Test.java b83230.Test [41] EXACT_MATCH\n" + >- "src/b83230/Test.java b83230.Test.bar [21] EXACT_MATCH\n" + >+ "src/b83230/Test.java b83230.Test [41] EXACT_MATCH\n" + >+ "src/b83230/Test.java b83230.Test.bar [21] EXACT_MATCH\n" + > "src/b83230/Test.java void b83230.Test.foo() [10] EXACT_MATCH" > ); > } >@@ -1753,25 +1754,25 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", >- "package b83230;\n" + >- "@interface A {\n" + >- " String value() default \"\";\n" + >- "}\n" + >- "@interface Main {\n" + >- " A first() default @A(\"Void\");\n" + >- " A second();\n" + >- "}\n" + >- "\n" + >- "@Main(first=@A(\"\"), second=@A(\"2\"))\n" + >- "public class Test {\n" + >+ "package b83230;\n" + >+ "@interface A {\n" + >+ " String value() default \"\";\n" + >+ "}\n" + >+ "@interface Main {\n" + >+ " A first() default @A(\"Void\");\n" + >+ " A second();\n" + >+ "}\n" + >+ "\n" + >+ "@Main(first=@A(\"\"), second=@A(\"2\"))\n" + >+ "public class Test {\n" + > "}\n" > ); > IType type = selectType(workingCopies[0], "A"); > IMethod method = type.getMethod("value", new String[0]); > search(method, REFERENCES); > assertSearchResults( >- "src/b83230/Test.java A b83230.Main.first() [\"Void\"] EXACT_MATCH\n" + >- "src/b83230/Test.java b83230.Test [\"\"] EXACT_MATCH\n" + >+ "src/b83230/Test.java A b83230.Main.first() [\"Void\"] EXACT_MATCH\n" + >+ "src/b83230/Test.java b83230.Test [\"\"] EXACT_MATCH\n" + > "src/b83230/Test.java b83230.Test [\"2\"] EXACT_MATCH" > ); > } >@@ -1784,21 +1785,21 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Test.java", >- "package b83304;\n" + >- "public class Test {\n" + >- " void foo() {\n" + >- " Class<? extends Throwable> l1= null;\n" + >- " Class<Exception> l2= null;\n" + >- " \n" + >- " Class<String> string_Class;\n" + >- " }\n" + >+ "package b83304;\n" + >+ "public class Test {\n" + >+ " void foo() {\n" + >+ " Class<? extends Throwable> l1= null;\n" + >+ " Class<Exception> l2= null;\n" + >+ " \n" + >+ " Class<String> string_Class;\n" + >+ " }\n" + > "}\n" > ); > IType type = selectType(workingCopies[0], "Class", 3); > search(type, REFERENCES, ERASURE_RULE, getJavaSearchWorkingCopiesScope()); > assertSearchResults( >- "src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + >- "src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + >+ "src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + >+ "src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + > "src/b83304/Test.java void b83304.Test.foo() [Class] EXACT_MATCH" > ); > } >@@ -1806,15 +1807,15 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Types.java", >- "package b83304;\n" + >- "import g1.t.s.def.Generic;\n" + >- "public class Types {\n" + >- " public Generic gen;\n" + >- " public Generic<Object> gen_obj;\n" + >- " public Generic<Exception> gen_exc;\n" + >- " public Generic<?> gen_wld;\n" + >- " public Generic<? extends Throwable> gen_thr;\n" + >- " public Generic<? super RuntimeException> gen_run;\n" + >+ "package b83304;\n" + >+ "import g1.t.s.def.Generic;\n" + >+ "public class Types {\n" + >+ " public Generic gen;\n" + >+ " public Generic<Object> gen_obj;\n" + >+ " public Generic<Exception> gen_exc;\n" + >+ " public Generic<?> gen_wld;\n" + >+ " public Generic<? extends Throwable> gen_thr;\n" + >+ " public Generic<? super RuntimeException> gen_run;\n" + > "}\n" > ); > } >@@ -1824,13 +1825,13 @@ > IType type = selectType(workingCopies[0], "Generic", 4); > search(type, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_exc [Generic] EXACT_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_thr [Generic] EQUIVALENT_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_run [Generic] EQUIVALENT_MATCH\n" + >+ "src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_exc [Generic] EXACT_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_thr [Generic] EQUIVALENT_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_run [Generic] EQUIVALENT_MATCH\n" + > "lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() ERASURE_MATCH" > ); > } >@@ -1840,13 +1841,13 @@ > IType type = getClassFile("JavaSearchBugs", "lib/JavaSearch15.jar", "g1.t.s.def", "Generic.class").getType(); > search(type, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen [Generic] ERASURE_RAW_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_exc [Generic] ERASURE_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_wld [Generic] ERASURE_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen [Generic] ERASURE_RAW_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_exc [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_wld [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + > "lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() EXACT_MATCH" > ); > } >@@ -1855,13 +1856,13 @@ > setUpBug83304_TypeParameterizedElementPattern(); > search("Generic<? super Exception>", TYPE, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Types.java [Generic] EQUIVALENT_RAW_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_obj [Generic] EQUIVALENT_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_exc [Generic] EQUIVALENT_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + >- "src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java [Generic] EQUIVALENT_RAW_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_obj [Generic] EQUIVALENT_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_exc [Generic] EQUIVALENT_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + >+ "src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + > "lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() ERASURE_MATCH" > ); > } >@@ -1869,16 +1870,16 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Methods.java", >- "package b83304;\n" + >- "import g5.m.def.Single;\n" + >- "public class Methods {\n" + >- " void test() {\n" + >- " Single<Exception> gs = new Single<Exception>();\n" + >- " Exception exc = new Exception();\n" + >- " gs.<Throwable>generic(exc);\n" + >- " gs.<Exception>generic(exc);\n" + >- " gs.<String>generic(\"\");\n" + >- " }\n" + >+ "package b83304;\n" + >+ "import g5.m.def.Single;\n" + >+ "public class Methods {\n" + >+ " void test() {\n" + >+ " Single<Exception> gs = new Single<Exception>();\n" + >+ " Exception exc = new Exception();\n" + >+ " gs.<Throwable>generic(exc);\n" + >+ " gs.<Exception>generic(exc);\n" + >+ " gs.<String>generic(\"\");\n" + >+ " }\n" + > "}\n" > ); > } >@@ -1888,8 +1889,8 @@ > IMethod method = selectMethod(workingCopies[0], "generic", 2); > search(method, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + >- "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + >+ "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + >+ "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + > "src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" > ); > } >@@ -1900,8 +1901,8 @@ > IMethod method = type.getMethod("generic", new String[] { "TU;" }); > search(method, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + >- "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + >+ "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + >+ "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + > "src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" > ); > } >@@ -1910,8 +1911,8 @@ > setUpBug83304_MethodParameterizedElementPattern(); > search("<Exception>generic", METHOD, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + >- "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + >+ "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + >+ "src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + > "src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" > ); > } >@@ -1919,15 +1920,15 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Constructors.java", >- "package b83304;\n" + >- "import g5.c.def.Single;\n" + >- "public class Constructors {\n" + >- " void test() {\n" + >- " Exception exc= new Exception();\n" + >- " new <Throwable>Single<String>(\"\", exc);\n" + >- " new <Exception>Single<String>(\"\", exc);\n" + >- " new <String>Single<String>(\"\", \"\");\n" + >- " }\n" + >+ "package b83304;\n" + >+ "import g5.c.def.Single;\n" + >+ "public class Constructors {\n" + >+ " void test() {\n" + >+ " Exception exc= new Exception();\n" + >+ " new <Throwable>Single<String>(\"\", exc);\n" + >+ " new <Exception>Single<String>(\"\", exc);\n" + >+ " new <String>Single<String>(\"\", \"\");\n" + >+ " }\n" + > "}\n" > ); > } >@@ -1937,8 +1938,8 @@ > IMethod method = selectMethod(workingCopies[0], "Single", 3); > search(method, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + >- "src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + >+ "src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + >+ "src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + > "src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH" > ); > } >@@ -1949,8 +1950,8 @@ > IMethod method = type.getMethod("Single", new String[] { "TT;", "TU;" }); > search(method, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + >- "src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] ERASURE_MATCH\n" + >+ "src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + >+ "src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] ERASURE_MATCH\n" + > "src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH" > ); > } >@@ -1959,10 +1960,10 @@ > setUpBug83304_ConstructorGenericElementPattern(); > search("<Exception>Single", CONSTRUCTOR, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + >- "src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + >- "src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH\n" + >- "lib/JavaSearch15.jar g5.m.def.Single<T> g5.m.def.Single.returnParamType() ERASURE_MATCH\n" + >+ "src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + >+ "src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + >+ "src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH\n" + >+ "lib/JavaSearch15.jar g5.m.def.Single<T> g5.m.def.Single.returnParamType() ERASURE_MATCH\n" + > "lib/JavaSearch15.jar g5.m.def.Single<T> g5.m.def.Single.complete(U, g5.m.def.Single<T>) ERASURE_MATCH" > ); > } >@@ -1974,28 +1975,28 @@ > private void setUpBug83804_Type() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83804/package-info.java", >- "/**\n" + >- " * Valid javadoc.\n" + >- " * @see Test\n" + >- " * @see Unknown\n" + >- " * @see Test#foo()\n" + >- " * @see Test#unknown()\n" + >- " * @see Test#field\n" + >- " * @see Test#unknown\n" + >- " * @param unexpected\n" + >- " * @throws unexpected\n" + >- " * @return unexpected \n" + >- " */\n" + >+ "/**\n" + >+ " * Valid javadoc.\n" + >+ " * @see Test\n" + >+ " * @see Unknown\n" + >+ " * @see Test#foo()\n" + >+ " * @see Test#unknown()\n" + >+ " * @see Test#field\n" + >+ " * @see Test#unknown\n" + >+ " * @param unexpected\n" + >+ " * @throws unexpected\n" + >+ " * @return unexpected \n" + >+ " */\n" + > "package b83804;\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b83804/Test.java", >- "/**\n" + >- " * Invalid javadoc\n" + >- " */\n" + >- "package b83804;\n" + >- "public class Test {\n" + >- " public int field;\n" + >- " public void foo() {}\n" + >+ "/**\n" + >+ " * Invalid javadoc\n" + >+ " */\n" + >+ "package b83804;\n" + >+ "public class Test {\n" + >+ " public int field;\n" + >+ " public void foo() {}\n" + > "}\n" > ); > } >@@ -2005,10 +2006,10 @@ > IType type = workingCopies[1].getType("Test"); > search(type, REFERENCES); > assertSearchResults( >- "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + >- "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + >- "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + >- "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + >+ "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + >+ "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + >+ "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + >+ "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + > "src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC" > ); > } >@@ -2041,16 +2042,16 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83388/R.java", >- "package b83388;\n" + >- "import b83388.*;\n" + >+ "package b83388;\n" + >+ "import b83388.*;\n" + > "public class R {}\n" > ); > IImportDeclaration importDeclaration = workingCopies[0].getImport("pack"); > assertNotNull("Cannot find \"pack\" import declaration for "+workingCopies[0].getElementName(), importDeclaration); > SearchPattern pattern = SearchPattern.createPattern( >- "pack", >+ "pack", > PACKAGE, >- DECLARATIONS, >+ DECLARATIONS, > EXACT_RULE); > assertNotNull("Pattern should not be null", pattern); > MatchLocator.setFocus(pattern, importDeclaration); >@@ -2069,16 +2070,16 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83388/R.java", >- "package b83388;\n" + >- "import b83388.*;\n" + >+ "package b83388;\n" + >+ "import b83388.*;\n" + > "public class R {}\n" > ); > IPackageDeclaration packageDeclaration = workingCopies[0].getPackageDeclaration("pack"); > assertNotNull("Cannot find \"pack\" import declaration for "+workingCopies[0].getElementName(), packageDeclaration); > SearchPattern pattern = SearchPattern.createPattern( >- "pack", >+ "pack", > PACKAGE, >- DECLARATIONS, >+ DECLARATIONS, > EXACT_RULE); > assertNotNull("Pattern should not be null", pattern); > MatchLocator.setFocus(pattern, packageDeclaration); >@@ -2103,23 +2104,23 @@ > resultCollector.showInsideDoc = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83693/A.java", >- "package b83693;\n" + >- "import static b83693.A.m;\n" + >- "/**\n" + >- " * @see A#m(int)\n" + >- " */\n" + >- "class A {\n" + >- " static void m(int i) {\n" + >- " b83693.A.m(i);\n" + >- " }\n" + >+ "package b83693;\n" + >+ "import static b83693.A.m;\n" + >+ "/**\n" + >+ " * @see A#m(int)\n" + >+ " */\n" + >+ "class A {\n" + >+ " static void m(int i) {\n" + >+ " b83693.A.m(i);\n" + >+ " }\n" + > "}" > ); > IMethod[] methods = workingCopies[0].getType("A").getMethods(); > assertEquals("Invalid number of methods", 1, methods.length); > search(methods[0], REFERENCES); > assertSearchResults( >- "src/b83693/A.java [b83693.A.m] EXACT_MATCH OUTSIDE_JAVADOC\n" + >- "src/b83693/A.java b83693.A [m(int)] EXACT_MATCH INSIDE_JAVADOC\n" + >+ "src/b83693/A.java [b83693.A.m] EXACT_MATCH OUTSIDE_JAVADOC\n" + >+ "src/b83693/A.java b83693.A [m(int)] EXACT_MATCH INSIDE_JAVADOC\n" + > "src/b83693/A.java void b83693.A.m(int) [m(i)] EXACT_MATCH OUTSIDE_JAVADOC" > ); > } >@@ -2127,7 +2128,7 @@ > /** > * Bug 83716: [search] refs to 2-arg constructor on Action found unexpected matches > * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=83716" >- * >+ * > * Note that this test does verify that bug is really fixed, but only that it has no impact > * on existing behavior. It was not really possible to put a test in this suite to verify that > * bug is effectively fixed as it appears only to potential match found in plugin dependencies... >@@ -2135,14 +2136,14 @@ > public void testBug83716() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83716/X.java", >- "package b83716;\n" + >- "public class X {\n" + >- " X() {}\n" + >- " X(int x) {}\n" + >- "}\n" + >- "class Y extends X {\n" + >- " Y(int y) {\n" + >- " }\n" + >+ "package b83716;\n" + >+ "public class X {\n" + >+ " X() {}\n" + >+ " X(int x) {}\n" + >+ "}\n" + >+ "class Y extends X {\n" + >+ " Y(int y) {\n" + >+ " }\n" + > "}" > ); > search("X", CONSTRUCTOR, REFERENCES); >@@ -2159,27 +2160,27 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84100/X.java", >- "package b84100;\n" + >- "public class X {\n" + >- " void foo() {}\n" + >- " void foo(String s) {}\n" + >- " void foo(String... xs) {}\n" + >- " void foo(int x, String... xs) {}\n" + >- " void foo(String s, int x, String... xs) {}\n" + >+ "package b84100;\n" + >+ "public class X {\n" + >+ " void foo() {}\n" + >+ " void foo(String s) {}\n" + >+ " void foo(String... xs) {}\n" + >+ " void foo(int x, String... xs) {}\n" + >+ " void foo(String s, int x, String... xs) {}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84100/Z.java", >- "package b84100;\n" + >- "public class Z {\n" + >- " X x;\n" + >- " void foo() {\n" + >- " x.foo();\n" + >- " x.foo(\"\");\n" + >- " x.foo(\"\", \"\");\n" + >- " x.foo(\"\", \"\", null);\n" + >- " x.foo(3, \"\", \"\");\n" + >- " x.foo(\"\", 3, \"\", \"\");\n" + >- " }\n" + >+ "package b84100;\n" + >+ "public class Z {\n" + >+ " X x;\n" + >+ " void foo() {\n" + >+ " x.foo();\n" + >+ " x.foo(\"\");\n" + >+ " x.foo(\"\", \"\");\n" + >+ " x.foo(\"\", \"\", null);\n" + >+ " x.foo(3, \"\", \"\");\n" + >+ " x.foo(\"\", 3, \"\", \"\");\n" + >+ " }\n" + > "}\n" > ); > } >@@ -2207,7 +2208,7 @@ > IMethod method = selectMethod(workingCopies[0], "foo", 3); > search(method, REFERENCES); > assertSearchResults( >- "src/b84100/Z.java void b84100.Z.foo() [foo(\"\", \"\")] EXACT_MATCH\n" + >+ "src/b84100/Z.java void b84100.Z.foo() [foo(\"\", \"\")] EXACT_MATCH\n" + > "src/b84100/Z.java void b84100.Z.foo() [foo(\"\", \"\", null)] EXACT_MATCH" > ); > } >@@ -2238,19 +2239,19 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84121/Test.java", >- "package b84121;\n" + >- "public class Test {\n" + >- " void foo(Test... t) {}\n" + >- " void foo(int x, Test... t) {}\n" + >- " void foo(Test[] t1, Test... t2) {}\n" + >+ "package b84121;\n" + >+ "public class Test {\n" + >+ " void foo(Test... t) {}\n" + >+ " void foo(int x, Test... t) {}\n" + >+ " void foo(Test[] t1, Test... t2) {}\n" + > "}\n" > ); > IType type = workingCopies[0].getType("Test"); > search(type, REFERENCES); > assertSearchResults( >- "src/b84121/Test.java void b84121.Test.foo(Test ...) [Test] EXACT_MATCH\n" + >- "src/b84121/Test.java void b84121.Test.foo(int, Test ...) [Test] EXACT_MATCH\n" + >- "src/b84121/Test.java void b84121.Test.foo(Test[], Test ...) [Test] EXACT_MATCH\n" + >+ "src/b84121/Test.java void b84121.Test.foo(Test ...) [Test] EXACT_MATCH\n" + >+ "src/b84121/Test.java void b84121.Test.foo(int, Test ...) [Test] EXACT_MATCH\n" + >+ "src/b84121/Test.java void b84121.Test.foo(Test[], Test ...) [Test] EXACT_MATCH\n" + > "src/b84121/Test.java void b84121.Test.foo(Test[], Test ...) [Test] EXACT_MATCH" > ); > } >@@ -2263,25 +2264,25 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84724/X.java", >- "package b84724;\n" + >- "public class X {\n" + >- " X(String s) {}\n" + >- " X(String... v) {}\n" + >- " X(int x, String... v) {}\n" + >- " X(String s, int x, String... v) {}\n" + >+ "package b84724;\n" + >+ "public class X {\n" + >+ " X(String s) {}\n" + >+ " X(String... v) {}\n" + >+ " X(int x, String... v) {}\n" + >+ " X(String s, int x, String... v) {}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84724/Z.java", >- "package b84724;\n" + >- "public class Z {\n" + >- " void foo() {\n" + >- " new X();\n" + >- " new X(\"\");\n" + >- " new X(\"\", \"\");\n" + >- " new X(\"\", \"\", null);\n" + >- " new X(3, \"\", \"\");\n" + >- " new X(\"\", 3, \"\", \"\");\n" + >- " }\n" + >+ "package b84724;\n" + >+ "public class Z {\n" + >+ " void foo() {\n" + >+ " new X();\n" + >+ " new X(\"\");\n" + >+ " new X(\"\", \"\");\n" + >+ " new X(\"\", \"\", null);\n" + >+ " new X(3, \"\", \"\");\n" + >+ " new X(\"\", 3, \"\", \"\");\n" + >+ " }\n" + > "}\n" > ); > } >@@ -2300,8 +2301,8 @@ > IMethod method = selectMethod(workingCopies[0], "X", 3); > search(method, REFERENCES); > assertSearchResults( >- "src/b84724/Z.java void b84724.Z.foo() [new X()] EXACT_MATCH\n" + >- "src/b84724/Z.java void b84724.Z.foo() [new X(\"\", \"\")] EXACT_MATCH\n" + >+ "src/b84724/Z.java void b84724.Z.foo() [new X()] EXACT_MATCH\n" + >+ "src/b84724/Z.java void b84724.Z.foo() [new X(\"\", \"\")] EXACT_MATCH\n" + > "src/b84724/Z.java void b84724.Z.foo() [new X(\"\", \"\", null)] EXACT_MATCH" > ); > } >@@ -2332,26 +2333,26 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84727/A.java", >- "package b84727;\n" + >- "public interface A {\n" + >- " Set<Set<Exception>> getXYZ(List<Set<Exception>> arg);\n" + >- " void getXYZ(String s);\n" + >+ "package b84727;\n" + >+ "public interface A {\n" + >+ " Set<Set<Exception>> getXYZ(List<Set<Exception>> arg);\n" + >+ " void getXYZ(String s);\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84727/X.java", >- "package b84727;\n" + >- "public class X {\n" + >- " A a;\n" + >- " void foo() {\n" + >- " a.getXYZ(new ArrayList());\n" + >- " a.getXYZ(\"\");\n" + >- " }\n" + >+ "package b84727;\n" + >+ "public class X {\n" + >+ " A a;\n" + >+ " void foo() {\n" + >+ " a.getXYZ(new ArrayList());\n" + >+ " a.getXYZ(\"\");\n" + >+ " }\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b84727/List.java", >- "package b84727;\n" + >- "public interface List<E> {}\n" + >- "interface Set<E> {}\n" + >+ "package b84727;\n" + >+ "public interface List<E> {}\n" + >+ "interface Set<E> {}\n" + > "class ArrayList<E> implements List<E> {}" > ); > } >@@ -2384,16 +2385,16 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b85810/Test.java", >- "package b85810;\n" + >- "public class Test<E> implements In<Test<E>> {\n" + >- " E e;\n" + >+ "package b85810;\n" + >+ "public class Test<E> implements In<Test<E>> {\n" + >+ " E e;\n" + > "}\n" + > "interface In<T> {}\n" > ); > ITypeParameter param = selectTypeParameter(workingCopies[0], "E"); > search(param, REFERENCES); > assertSearchResults( >- "src/b85810/Test.java b85810.Test [E] EXACT_MATCH\n" + >+ "src/b85810/Test.java b85810.Test [E] EXACT_MATCH\n" + > "src/b85810/Test.java b85810.Test.e [E] EXACT_MATCH" > ); > } >@@ -2406,25 +2407,25 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86596/aa/link/A.java", >- "package b86596.aa.link;\n" + >+ "package b86596.aa.link;\n" + > "public interface A {}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86596/bb/Link.java", >- "package b86596.bb;\n" + >+ "package b86596.bb;\n" + > "public class Link{}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b86596/cc/X.java", >- "package b86596.cc;\n" + >- "import b86596.aa.link.A;\n" + >- "import b86596.bb.Link;\n" + >- "public class X {\n" + >- " A a;\n" + >- " Link l;\n" + >+ "package b86596.cc;\n" + >+ "import b86596.aa.link.A;\n" + >+ "import b86596.bb.Link;\n" + >+ "public class X {\n" + >+ " A a;\n" + >+ " Link l;\n" + > "}\n" > ); > search("Link", TYPE, REFERENCES, SearchPattern.R_EXACT_MATCH); > assertSearchResults( >- "src/b86596/cc/X.java [Link] EXACT_RAW_MATCH\n" + >+ "src/b86596/cc/X.java [Link] EXACT_RAW_MATCH\n" + > "src/b86596/cc/X.java b86596.cc.X.l [Link] EXACT_MATCH" > ); > } >@@ -2437,25 +2438,25 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86642/A.java", >- "package b86642;\n" + >- "class A {\n" + >- " public void m() {}\n" + >- " protected void f(A a){}\n" + >+ "package b86642;\n" + >+ "class A {\n" + >+ " public void m() {}\n" + >+ " protected void f(A a){}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86642/B.java", >- "package b86642;\n" + >- "public class B extends A{\n" + >- " protected void f(A a){\n" + >- " a.m();\n" + >- " }\n" + >+ "package b86642;\n" + >+ "public class B extends A{\n" + >+ " protected void f(A a){\n" + >+ " a.m();\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("A"); > search(type, REFERENCES); > assertSearchResults( >- "src/b86642/A.java void b86642.A.f(A) [A] EXACT_MATCH\n" + >- "src/b86642/B.java b86642.B [A] EXACT_MATCH\n" + >+ "src/b86642/A.java void b86642.A.f(A) [A] EXACT_MATCH\n" + >+ "src/b86642/B.java b86642.B [A] EXACT_MATCH\n" + > "src/b86642/B.java void b86642.B.f(A) [A] EXACT_MATCH" > ); > } >@@ -2468,7 +2469,7 @@ > IMethod method = type.getMethod("m86293", new String[0]); > search(method, DECLARATIONS); > assertSearchResults( >- "lib/b86293.jar void <anonymous>.m86293() EXACT_MATCH\n" + >+ "lib/b86293.jar void <anonymous>.m86293() EXACT_MATCH\n" + > "lib/b86293.jar void I86293.m86293() EXACT_MATCH" > ); > } >@@ -2481,17 +2482,17 @@ > resultCollector.showInsideDoc = true; > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86380/package-info.java", >- "/**\n" + >- " * @see Annot#field\n" + >- " */\n" + >- "@Annot(value=11)\n" + >+ "/**\n" + >+ " * @see Annot#field\n" + >+ " */\n" + >+ "@Annot(value=11)\n" + > "package b86380;\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86380/Test.java", >- "package b86380;\n" + >- "@Annot(12) public class Test {\n" + >- " public int field = Annot.field;\n" + >- " public void foo() {}\n" + >+ "package b86380;\n" + >+ "@Annot(12) public class Test {\n" + >+ " public int field = Annot.field;\n" + >+ " public void foo() {}\n" + > "}\n" > ); > } >@@ -2502,9 +2503,9 @@ > IType type = unit.getType("Annot"); > search(type, REFERENCES); > assertSearchResults( >- "src/b86380/Test.java b86380.Test [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + >- "src/b86380/Test.java b86380.Test.field [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + >- "src/b86380/package-info.java [Annot] EXACT_MATCH INSIDE_JAVADOC\n" + >+ "src/b86380/Test.java b86380.Test [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + >+ "src/b86380/Test.java b86380.Test.field [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + >+ "src/b86380/package-info.java [Annot] EXACT_MATCH INSIDE_JAVADOC\n" + > "src/b86380/package-info.java [Annot] EXACT_MATCH OUTSIDE_JAVADOC" > ); > } >@@ -2516,7 +2517,7 @@ > assertEquals("Invalid number of methods", 1, methods.length); > search(methods[0], REFERENCES); > assertSearchResults( >- "src/b86380/Test.java b86380.Test [12] EXACT_MATCH OUTSIDE_JAVADOC\n" + >+ "src/b86380/Test.java b86380.Test [12] EXACT_MATCH OUTSIDE_JAVADOC\n" + > "src/b86380/package-info.java [value] EXACT_MATCH OUTSIDE_JAVADOC" > ); > } >@@ -2528,7 +2529,7 @@ > assertEquals("Invalid number of fields", 1, fields.length); > search(fields[0], REFERENCES); > assertSearchResults( >- "src/b86380/Test.java b86380.Test.field [field] EXACT_MATCH OUTSIDE_JAVADOC\n" + >+ "src/b86380/Test.java b86380.Test.field [field] EXACT_MATCH OUTSIDE_JAVADOC\n" + > "src/b86380/package-info.java [field] EXACT_MATCH INSIDE_JAVADOC" > ); > } >@@ -2541,33 +2542,33 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88174/Test.java", >- "package b88174;\n" + >- "public enum Test {\n" + >- " a {\n" + >- " int getTheValue() { // not found\n" + >- " return 0;\n" + >- " }\n" + >- " };\n" + >- " abstract int getTheValue();\n" + >+ "package b88174;\n" + >+ "public enum Test {\n" + >+ " a {\n" + >+ " int getTheValue() { // not found\n" + >+ " return 0;\n" + >+ " }\n" + >+ " };\n" + >+ " abstract int getTheValue();\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88174/X.java", >- "package b88174;\n" + >- "public class X {\n" + >- " X x = new X() {\n" + >- " int getTheValue() {\n" + >- " return 0;\n" + >- " }\n" + >- " };\n" + >- " int getTheValue() { return 0; }\n" + >+ "package b88174;\n" + >+ "public class X {\n" + >+ " X x = new X() {\n" + >+ " int getTheValue() {\n" + >+ " return 0;\n" + >+ " }\n" + >+ " };\n" + >+ " int getTheValue() { return 0; }\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Test").getMethod("getTheValue", new String[0]); > search(method, DECLARATIONS | IGNORE_DECLARING_TYPE); > assertSearchResults( >- "src/b88174/Test.java int b88174.Test.a:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + >- "src/b88174/Test.java int b88174.Test.getTheValue() [getTheValue] EXACT_MATCH\n" + >- "src/b88174/X.java int b88174.X.x:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + >+ "src/b88174/Test.java int b88174.Test.a:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + >+ "src/b88174/Test.java int b88174.Test.getTheValue() [getTheValue] EXACT_MATCH\n" + >+ "src/b88174/X.java int b88174.X.x:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + > "src/b88174/X.java int b88174.X.getTheValue() [getTheValue] EXACT_MATCH" > ); > } >@@ -2583,7 +2584,7 @@ > assertEquals("Wrong number of parameters", 1, parameters.length); > search(parameters[0], REFERENCES); > assertSearchResults( >- "lib/b87627.jar b87627.List EXACT_MATCH\n" + >+ "lib/b87627.jar b87627.List EXACT_MATCH\n" + > "lib/b87627.jar boolean b87627.List.addAll(b87627.Collection<? extends E>) EXACT_MATCH" > ); > } >@@ -2595,28 +2596,28 @@ > public void testBug88300() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/SubClass.java", >- "package b88300;\n" + >- "public class SubClass extends SuperClass {\n" + >- " private void aMethod(String x) {\n" + >- " }\n" + >- " public void aMethod(Object x) {\n" + >- " }\n" + >+ "package b88300;\n" + >+ "public class SubClass extends SuperClass {\n" + >+ " private void aMethod(String x) {\n" + >+ " }\n" + >+ " public void aMethod(Object x) {\n" + >+ " }\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/SuperClass.java", >- "package b88300;\n" + >- "public class SuperClass {\n" + >- " public void aMethod(Object x) {\n" + >- " }\n" + >+ "package b88300;\n" + >+ "public class SuperClass {\n" + >+ " public void aMethod(Object x) {\n" + >+ " }\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/User.java", >- "package b88300;\n" + >- "public class User {\n" + >- " public void methodUsingSubClassMethod() {\n" + >- " SuperClass user = new SubClass();\n" + >- " user.aMethod(new Object());\n" + >- " }\n" + >+ "package b88300;\n" + >+ "public class User {\n" + >+ " public void methodUsingSubClassMethod() {\n" + >+ " SuperClass user = new SubClass();\n" + >+ " user.aMethod(new Object());\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("SubClass"); >@@ -2628,28 +2629,28 @@ > public void testBug88300b() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/SubClass.java", >- "package b88300;\n" + >- "public class SubClass extends SuperClass {\n" + >- " public void aMethod(Object x) {\n" + >- " }\n" + >- " private void aMethod(String x) {\n" + >- " }\n" + >+ "package b88300;\n" + >+ "public class SubClass extends SuperClass {\n" + >+ " public void aMethod(Object x) {\n" + >+ " }\n" + >+ " private void aMethod(String x) {\n" + >+ " }\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/SuperClass.java", >- "package b88300;\n" + >- "public class SuperClass {\n" + >- " public void aMethod(Object x) {\n" + >- " }\n" + >+ "package b88300;\n" + >+ "public class SuperClass {\n" + >+ " public void aMethod(Object x) {\n" + >+ " }\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/User.java", >- "package b88300;\n" + >- "public class User {\n" + >- " public void methodUsingSubClassMethod() {\n" + >- " SuperClass user = new SubClass();\n" + >- " user.aMethod(new Object());\n" + >- " }\n" + >+ "package b88300;\n" + >+ "public class User {\n" + >+ " public void methodUsingSubClassMethod() {\n" + >+ " SuperClass user = new SubClass();\n" + >+ " user.aMethod(new Object());\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("SubClass"); >@@ -2661,43 +2662,43 @@ > public void testBug88300c() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/ConditionalFlowInfo.java", >- "package b88300.not.fixed;\n" + >- "public class ConditionalFlowInfo extends FlowInfo {\n" + >- " public FlowInfo info;\n" + >- " ConditionalFlowInfo(FlowInfo info){\n" + >- " this.info = info;\n" + >- " }\n" + >- " public void markAsDefinitelyNull(FieldBinding field) {\n" + >- " info.markAsDefinitelyNull(field);\n" + >- " }\n" + >- " public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + >- " info.markAsDefinitelyNull(local);\n" + >- " }\n" + >+ "package b88300.not.fixed;\n" + >+ "public class ConditionalFlowInfo extends FlowInfo {\n" + >+ " public FlowInfo info;\n" + >+ " ConditionalFlowInfo(FlowInfo info){\n" + >+ " this.info = info;\n" + >+ " }\n" + >+ " public void markAsDefinitelyNull(FieldBinding field) {\n" + >+ " info.markAsDefinitelyNull(field);\n" + >+ " }\n" + >+ " public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + >+ " info.markAsDefinitelyNull(local);\n" + >+ " }\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/FlowInfo.java", >- "package b88300.not.fixed;\n" + >- "\n" + >- "class FieldBinding {\n" + >- " int id;\n" + >- "}\n" + >- "class LocalVariableBinding extends FieldBinding {}\n" + >- "\n" + >- "public abstract class FlowInfo {\n" + >- " abstract public void markAsDefinitelyNull(LocalVariableBinding local);\n" + >- " abstract public void markAsDefinitelyNull(FieldBinding field);\n" + >+ "package b88300.not.fixed;\n" + >+ "\n" + >+ "class FieldBinding {\n" + >+ " int id;\n" + >+ "}\n" + >+ "class LocalVariableBinding extends FieldBinding {}\n" + >+ "\n" + >+ "public abstract class FlowInfo {\n" + >+ " abstract public void markAsDefinitelyNull(LocalVariableBinding local);\n" + >+ " abstract public void markAsDefinitelyNull(FieldBinding field);\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/UnconditionalFlowInfo.java", >- "package b88300.not.fixed;\n" + >- "public class UnconditionalFlowInfo extends FlowInfo {\n" + >- " final private void markAsDefinitelyNull(int position) {}\n" + >- " public void markAsDefinitelyNull(FieldBinding field) {\n" + >- " markAsDefinitelyNull(field.id);\n" + >- " }\n" + >- " public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + >- " markAsDefinitelyNull(local.id + 1);\n" + >- " }\n" + >+ "package b88300.not.fixed;\n" + >+ "public class UnconditionalFlowInfo extends FlowInfo {\n" + >+ " final private void markAsDefinitelyNull(int position) {}\n" + >+ " public void markAsDefinitelyNull(FieldBinding field) {\n" + >+ " markAsDefinitelyNull(field.id);\n" + >+ " }\n" + >+ " public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + >+ " markAsDefinitelyNull(local.id + 1);\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[2].getType("UnconditionalFlowInfo"); >@@ -2714,36 +2715,36 @@ > public void testBug89686() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b89686/A.java", >- "package b89686;\n" + >- "public enum Color {\n" + >- " RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + >- " Color() {}\n" + >- " Color(int i) {}\n" + >+ "package b89686;\n" + >+ "public enum Color {\n" + >+ " RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + >+ " Color() {}\n" + >+ " Color(int i) {}\n" + > "}" > ); > IType type = workingCopies[0].getType("Color"); > IMethod method = type.getMethod("Color", new String[0]); > search(method, REFERENCES); > assertSearchResults( >- "src/b89686/A.java b89686.Color.RED [RED] EXACT_MATCH\n" + >+ "src/b89686/A.java b89686.Color.RED [RED] EXACT_MATCH\n" + > "src/b89686/A.java b89686.Color.GREEN [GREEN()] EXACT_MATCH" > ); > } > public void testBug89686b() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b89686/A.java", >- "package b89686;\n" + >- "public enum Color {\n" + >- " RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + >- " Color() {}\n" + >- " Color(int i) {}\n" + >+ "package b89686;\n" + >+ "public enum Color {\n" + >+ " RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + >+ " Color() {}\n" + >+ " Color(int i) {}\n" + > "}" > ); > IType type = workingCopies[0].getType("Color"); > IMethod method = type.getMethod("Color", new String[] { "I"} ); > search(method, REFERENCES); > assertSearchResults( >- "src/b89686/A.java b89686.Color.BLUE [BLUE(17)] EXACT_MATCH\n" + >+ "src/b89686/A.java b89686.Color.BLUE [BLUE(17)] EXACT_MATCH\n" + > "src/b89686/A.java b89686.Color.PINK [PINK((1+(1+1)))] EXACT_MATCH" > ); > } >@@ -2757,7 +2758,7 @@ > IMethod method = classFile.getMethod("foo", new String[0]); > search(method, ALL_OCCURRENCES); > assertSearchResults( >- "lib/b89848/Test.class void b89848.Test.foo() EXACT_MATCH\n" + >+ "lib/b89848/Test.class void b89848.Test.foo() EXACT_MATCH\n" + > "lib/b89848/X.class void b89848.X.foo() EXACT_MATCH" > ); > } >@@ -2770,20 +2771,20 @@ > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b90779/A.java", > "package b90779;\n" + >- "public class A {\n" + >- " public A() {}\n" + >+ "public class A {\n" + >+ " public A() {}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b90779/B.java", > "package b90779;\n" + >- "public class B {\n" + >- " public B() {}\n" + >+ "public class B {\n" + >+ " public B() {}\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b90779/C.java", > "package b90779;\n" + >- "public class C {\n" + >- " public C() {}\n" + >+ "public class C {\n" + >+ " public C() {}\n" + > "}\n" > ); > IType type = workingCopies[0].getType("A"); >@@ -2803,15 +2804,15 @@ > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b90915/X.java", > "package b90915;\n" + >- "import g5.m.def.Single;\n" + >- "public class X<T> {\n" + >- " void foo() {\n" + >- " Single<String> single = new Single<String>() {\n" + >- " public <U> String generic(U u) { return \"\"; }\n" + >- " public void paramTypesArgs(Single<String> gs) {}\n" + >- " };\n" + >- " single.paramTypesArgs(null);\n" + >- " }\n" + >+ "import g5.m.def.Single;\n" + >+ "public class X<T> {\n" + >+ " void foo() {\n" + >+ " Single<String> single = new Single<String>() {\n" + >+ " public <U> String generic(U u) { return \"\"; }\n" + >+ " public void paramTypesArgs(Single<String> gs) {}\n" + >+ " };\n" + >+ " single.paramTypesArgs(null);\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("X"); >@@ -2834,16 +2835,16 @@ > public void testBug91542() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b91542/A.java", >- "package b91542;\n" + >- "\n" + >- "class A<T> {\n" + >- " void a(A<T> a){}\n" + >- "}\n" + >- "\n" + >- "class B<T> extends A<T> {\n" + >- " protected void foo() { \n" + >- " a(this);\n" + >- " }\n" + >+ "package b91542;\n" + >+ "\n" + >+ "class A<T> {\n" + >+ " void a(A<T> a){}\n" + >+ "}\n" + >+ "\n" + >+ "class B<T> extends A<T> {\n" + >+ " protected void foo() { \n" + >+ " a(this);\n" + >+ " }\n" + > "}" > ); > IType type = workingCopies[0].getType("B"); >@@ -2861,40 +2862,40 @@ > public void testBug91078() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b91078/test/Example.java", >- "package b91078.test;\n" + >- "import b91078.util.HashMap;\n" + >- "import b91078.util.Map;\n" + >- "public class Example {\n" + >- " public Map.Entry logAll(Object obj) {\n" + >- " if (obj instanceof b91078.util.HashMap) {\n" + >- " HashMap map = (HashMap) obj;\n" + >- " return map.entry;\n" + >- " }\n" + >- " if (obj instanceof b91078.util.HashMap.Entry) {\n" + >- " Map.Entry entry = (Map.Entry) obj;\n" + >- " return entry;\n" + >- " }\n" + >- " return null;\n" + >- " }\n" + >+ "package b91078.test;\n" + >+ "import b91078.util.HashMap;\n" + >+ "import b91078.util.Map;\n" + >+ "public class Example {\n" + >+ " public Map.Entry logAll(Object obj) {\n" + >+ " if (obj instanceof b91078.util.HashMap) {\n" + >+ " HashMap map = (HashMap) obj;\n" + >+ " return map.entry;\n" + >+ " }\n" + >+ " if (obj instanceof b91078.util.HashMap.Entry) {\n" + >+ " Map.Entry entry = (Map.Entry) obj;\n" + >+ " return entry;\n" + >+ " }\n" + >+ " return null;\n" + >+ " }\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b91078/util/HashMap.java", >- "package b91078.util;\n" + >- "public class HashMap implements Map {\n" + >- " public Entry entry;\n" + >+ "package b91078.util;\n" + >+ "public class HashMap implements Map {\n" + >+ " public Entry entry;\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b91078/util/Map.java", >- "package b91078.util;\n" + >- "public interface Map {\n" + >- " class Entry{}\n" + >+ "package b91078.util;\n" + >+ "public interface Map {\n" + >+ " class Entry{}\n" + > "}\n" > ); > search("*", PACKAGE, REFERENCES, getJavaSearchWorkingCopiesScope(workingCopies[0])); > assertSearchResults( >- "src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + >- "src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + >- "src/b91078/test/Example.java Map.Entry b91078.test.Example.logAll(Object) [b91078.util] EXACT_MATCH\n" + >+ "src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + >+ "src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + >+ "src/b91078/test/Example.java Map.Entry b91078.test.Example.logAll(Object) [b91078.util] EXACT_MATCH\n" + > "src/b91078/test/Example.java Map.Entry b91078.test.Example.logAll(Object) [b91078.util] EXACT_MATCH" > ); > } >@@ -2918,18 +2919,18 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "java.lang.CharSequence\n" + >- "java.lang.Class\n" + >- "java.lang.CloneNotSupportedException\n" + >- "java.lang.Comparable\n" + >- "java.lang.Enum\n" + >- "java.lang.Error\n" + >- "java.lang.Exception\n" + >- "java.lang.IllegalMonitorStateException\n" + >- "java.lang.InterruptedException\n" + >- "java.lang.Object\n" + >- "java.lang.RuntimeException\n" + >- "java.lang.String\n" + >+ "java.lang.CharSequence\n" + >+ "java.lang.Class\n" + >+ "java.lang.CloneNotSupportedException\n" + >+ "java.lang.Comparable\n" + >+ "java.lang.Enum\n" + >+ "java.lang.Error\n" + >+ "java.lang.Exception\n" + >+ "java.lang.IllegalMonitorStateException\n" + >+ "java.lang.InterruptedException\n" + >+ "java.lang.Object\n" + >+ "java.lang.RuntimeException\n" + >+ "java.lang.String\n" + > "java.lang.Throwable", > requestor); > } >@@ -2948,12 +2949,12 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "java.lang.CloneNotSupportedException\n" + >- "java.lang.Exception\n" + >- "java.lang.IllegalMonitorStateException\n" + >- "java.lang.InterruptedException\n" + >- "java.lang.RuntimeException\n" + >- "java.lang.annotation.Annotation\n" + >+ "java.lang.CloneNotSupportedException\n" + >+ "java.lang.Exception\n" + >+ "java.lang.IllegalMonitorStateException\n" + >+ "java.lang.InterruptedException\n" + >+ "java.lang.RuntimeException\n" + >+ "java.lang.annotation.Annotation\n" + > "java.lang.annotation.Retention", > requestor); > } >@@ -2972,16 +2973,16 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "Test$Inner\n" + >- "b123679.test.Test\n" + >- "b123679.test.Test$StaticClass\n" + >- "b123679.test.Test$StaticClass$Member\n" + >- "b124645.test.A_124645\n" + >- "b124645.test.X_124645\n" + >- "b127628.Test127628$Member127628\n" + >- "b95794.Test$Color\n" + >- "pack.age.Test$Member\n" + >- "test.Test$StaticClass\n" + >+ "Test$Inner\n" + >+ "b123679.test.Test\n" + >+ "b123679.test.Test$StaticClass\n" + >+ "b123679.test.Test$StaticClass$Member\n" + >+ "b124645.test.A_124645\n" + >+ "b124645.test.X_124645\n" + >+ "b127628.Test127628$Member127628\n" + >+ "b95794.Test$Color\n" + >+ "pack.age.Test$Member\n" + >+ "test.Test$StaticClass\n" + > "test.Test$StaticClass$Member", > requestor); > } >@@ -3000,7 +3001,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b124645.test.X_124645\n" + >+ "b124645.test.X_124645\n" + > "b124645.xy.X_124645", > requestor); > } >@@ -3013,10 +3014,10 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b92944/Test.java", >- "package b92944;\n" + >- "interface B92944_I {}\n" + >- "enum B92944_E {}\n" + >- "@interface B92944_A {}\n" + >+ "package b92944;\n" + >+ "interface B92944_I {}\n" + >+ "enum B92944_E {}\n" + >+ "@interface B92944_A {}\n" + > "public class B92944 {}\n" > ); > } >@@ -3037,9 +3038,9 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b92944.B92944\n" + >- "b92944.B92944_A\n" + >- "b92944.B92944_E\n" + >+ "b92944.B92944\n" + >+ "b92944.B92944_A\n" + >+ "b92944.B92944_E\n" + > "b92944.B92944_I", > requestor); > } >@@ -3082,7 +3083,7 @@ > // Remove enum and annotation > assertSearchResults( > "Unexpected all type names", >- "b92944.B92944\n" + >+ "b92944.B92944\n" + > "b92944.B92944_I", // Annotation is an interface in java.lang > requestor); > } >@@ -3104,7 +3105,7 @@ > // Remove interface and annotation > assertSearchResults( > "Unexpected all type names", >- "b92944.B92944\n" + >+ "b92944.B92944\n" + > "b92944.B92944_E", > requestor); > } >@@ -3172,7 +3173,7 @@ > /** > * Bug 93392: [1.5][search][annot] search for annotation elements does not seem to be implemented yet > * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=93392" >- * >+ * > * Note that this test valid also: > * Bug 94062: [1.5][search][annot] search for annotation elements incorrect match range > * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=94062" >@@ -3182,24 +3183,24 @@ > collector.showAccuracy = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b93392/Test.java", >- "package b93392;\n" + >- "@interface Annot {\n" + >+ "package b93392;\n" + >+ "@interface Annot {\n" + > " int value();\n" + > "}\n" + >- "@Annot(41)\n" + >- "public class Test {\n" + >- " @Annot(21)\n" + >- " int bar;\n" + >- " @Annot(10)\n" + >- " public void foo() {}\n" + >+ "@Annot(41)\n" + >+ "public class Test {\n" + >+ " @Annot(21)\n" + >+ " int bar;\n" + >+ " @Annot(10)\n" + >+ " public void foo() {}\n" + > "}\n" > ); > IType type = selectType(workingCopies[0], "Annot"); > IMethod method = type.getMethod("value", new String[0]); > search(method, REFERENCES, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b93392/Test.java b93392.Test [41] EXACT_MATCH\n" + >- "src/b93392/Test.java b93392.Test.bar [21] EXACT_MATCH\n" + >+ "src/b93392/Test.java b93392.Test [41] EXACT_MATCH\n" + >+ "src/b93392/Test.java b93392.Test.bar [21] EXACT_MATCH\n" + > "src/b93392/Test.java void b93392.Test.foo() [10] EXACT_MATCH", > collector > ); >@@ -3228,19 +3229,19 @@ > public void testBug94160() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94160/Test.java", >- "package b94160;\n" + >- "public class Test {\n" + >- " <T> List<T> generateList(Class<T> clazz) {\n" + >- " return new ArrayList<T>();\n" + >- " }\n" + >- "}\n" + >- "class CTest extends Test {\n" + >- " private List<String> myList = generateList(String.class);\n" + >- " CTest() {\n" + >- " myList = new ArrayList<String>();\n" + >- " }\n" + >- "}\n" + >- "interface List<E> {}\n" + >+ "package b94160;\n" + >+ "public class Test {\n" + >+ " <T> List<T> generateList(Class<T> clazz) {\n" + >+ " return new ArrayList<T>();\n" + >+ " }\n" + >+ "}\n" + >+ "class CTest extends Test {\n" + >+ " private List<String> myList = generateList(String.class);\n" + >+ " CTest() {\n" + >+ " myList = new ArrayList<String>();\n" + >+ " }\n" + >+ "}\n" + >+ "interface List<E> {}\n" + > "class ArrayList<E> implements List<E> {}" > ); > IType type = workingCopies[0].getType("CTest"); >@@ -3258,12 +3259,12 @@ > public void testBug94389() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94389/Test.java", >- "package b94389;\n" + >- "public class Test {\n" + >- " public void foo() {}\n" + >- " public void foo() {}\n" + >- " public void foo() {}\n" + >- " public void foo() {}\n" + >+ "package b94389;\n" + >+ "public class Test {\n" + >+ " public void foo() {}\n" + >+ " public void foo() {}\n" + >+ " public void foo() {}\n" + >+ " public void foo() {}\n" + > "}\n" > ); > IType type = workingCopies[0].getType("Test"); >@@ -3273,18 +3274,18 @@ > // Perform search on each duplicate method > IJavaSearchScope scope = getJavaSearchScopeBugs(); > for (int m=0; m<methodsLength; m++) { >- >+ > // Search method declaration > TestCollector collector = new TestCollector(); > search(methods[m], DECLARATIONS, scope, collector); > assertSearchResults( >- "src/b94389/Test.java void b94389.Test.foo() [foo]\n" + >- "src/b94389/Test.java void b94389.Test.foo() [foo]\n" + >- "src/b94389/Test.java void b94389.Test.foo() [foo]\n" + >+ "src/b94389/Test.java void b94389.Test.foo() [foo]\n" + >+ "src/b94389/Test.java void b94389.Test.foo() [foo]\n" + >+ "src/b94389/Test.java void b94389.Test.foo() [foo]\n" + > "src/b94389/Test.java void b94389.Test.foo() [foo]", > collector > ); >- >+ > // Verify that all matches have correct occurence count > int size = collector.matches.size(); > for (int i=0; i<size; i++) { >@@ -3300,15 +3301,15 @@ > public void testBug94718() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94718/SetUp.java", >- "package b94718;\n" + >- "public @interface SetUp {\n" + >- " String value() {}\n" + >+ "package b94718;\n" + >+ "public @interface SetUp {\n" + >+ " String value() {}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b94718/Test.java", >- "package b94718;\n" + >- "@SetUp(\"howdy\")\n" + >- "public class Test {\n" + >+ "package b94718;\n" + >+ "@SetUp(\"howdy\")\n" + >+ "public class Test {\n" + > "}\n" > ); > IType type = workingCopies[1].getType("SetUp"); >@@ -3330,7 +3331,7 @@ > // search constructor second level member > search(type.getMethods()[0], REFERENCES); > assertSearchResults( >- "lib/b95152.jar b95152.T1() EXACT_MATCH\n" + >+ "lib/b95152.jar b95152.T1() EXACT_MATCH\n" + > "lib/b95152.jar b95152.T1() EXACT_MATCH" > ); > } >@@ -3342,7 +3343,7 @@ > // search constructor second level member > search(type.getMethods()[0], REFERENCES); > assertSearchResults( >- "lib/b95152.jar b95152.T2(int) EXACT_MATCH\n" + >+ "lib/b95152.jar b95152.T2(int) EXACT_MATCH\n" + > "lib/b95152.jar b95152.T2(int) EXACT_MATCH" > ); > } >@@ -3354,7 +3355,7 @@ > // search constructor second level member > search(type.getMethods()[0], REFERENCES); > assertSearchResults( >- "lib/b95152.jar b95152.T3(b95152.T3) EXACT_MATCH\n" + >+ "lib/b95152.jar b95152.T3(b95152.T3) EXACT_MATCH\n" + > "lib/b95152.jar b95152.T3(b95152.T3) EXACT_MATCH" > ); > } >@@ -3366,27 +3367,27 @@ > // search constructor second level member > search(type.getMethods()[0], REFERENCES); > assertSearchResults( >- "lib/b95152.jar b95152.T4(b95152.T4, java.lang.String) EXACT_MATCH\n" + >+ "lib/b95152.jar b95152.T4(b95152.T4, java.lang.String) EXACT_MATCH\n" + > "lib/b95152.jar b95152.T4(b95152.T4, java.lang.String) EXACT_MATCH" > ); > } > public void testBug95152_wc01() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", >- "package b95152;\n" + >- "public class T {\n" + >- " T2 c2;\n" + >- " T2.T3 c3;\n" + >- " T() {\n" + >- " c2 = new T2();\n" + >- " c3 = c2.new T3();\n" + >- " }\n" + >- " class T2 {\n" + >- " T2() {}\n" + >- " class T3 {\n" + >- " T3() {}\n" + >- " }\n" + >- " }\n" + >+ "package b95152;\n" + >+ "public class T {\n" + >+ " T2 c2;\n" + >+ " T2.T3 c3;\n" + >+ " T() {\n" + >+ " c2 = new T2();\n" + >+ " c3 = c2.new T3();\n" + >+ " }\n" + >+ " class T2 {\n" + >+ " T2() {}\n" + >+ " class T3 {\n" + >+ " T3() {}\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > // search constructor first level member >@@ -3404,20 +3405,20 @@ > public void testBug95152_wc02() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", >- "package b95152;\n" + >- "public class T {\n" + >- " T2 c2;\n" + >- " T2.T3 c3;\n" + >- " T(int c) {\n" + >- " c2 = new T2(c);\n" + >- " c3 = c2.new T3(c);\n" + >- " }\n" + >- " class T2 {\n" + >- " T2(int x) {}\n" + >- " class T3 {\n" + >- " T3(int x) {}\n" + >- " }\n" + >- " }\n" + >+ "package b95152;\n" + >+ "public class T {\n" + >+ " T2 c2;\n" + >+ " T2.T3 c3;\n" + >+ " T(int c) {\n" + >+ " c2 = new T2(c);\n" + >+ " c3 = c2.new T3(c);\n" + >+ " }\n" + >+ " class T2 {\n" + >+ " T2(int x) {}\n" + >+ " class T3 {\n" + >+ " T3(int x) {}\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > // search constructor first level member >@@ -3435,20 +3436,20 @@ > public void testBug95152_wc03() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", >- "package b95152;\n" + >- "public class T {\n" + >- " T2 c2;\n" + >- " T2.T3 c3;\n" + >- " T(T c) {\n" + >- " c2 = new T2(c);\n" + >- " c3 = c2.new T3(c2);\n" + >- " }\n" + >- " class T2 {\n" + >- " T2(T c) {}\n" + >- " class T3 {\n" + >- " T3(T2 c) {}\n" + >- " }\n" + >- " }\n" + >+ "package b95152;\n" + >+ "public class T {\n" + >+ " T2 c2;\n" + >+ " T2.T3 c3;\n" + >+ " T(T c) {\n" + >+ " c2 = new T2(c);\n" + >+ " c3 = c2.new T3(c2);\n" + >+ " }\n" + >+ " class T2 {\n" + >+ " T2(T c) {}\n" + >+ " class T3 {\n" + >+ " T3(T2 c) {}\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > // search constructor first level member >@@ -3466,20 +3467,20 @@ > public void testBug95152_wc04() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", >- "package b95152;\n" + >- "public class T {\n" + >- " T2 c2;\n" + >- " T2.T3 c3;\n" + >- " T(T c, String str) {\n" + >- " c2 = new T2(c, str);\n" + >- " c3 = c2.new T3(c2, str);\n" + >- " }\n" + >- " class T2 {\n" + >- " T2(T c, String str) {}\n" + >- " class T3 {\n" + >- " T3(T2 c, String str) {}\n" + >- " }\n" + >- " }\n" + >+ "package b95152;\n" + >+ "public class T {\n" + >+ " T2 c2;\n" + >+ " T2.T3 c3;\n" + >+ " T(T c, String str) {\n" + >+ " c2 = new T2(c, str);\n" + >+ " c3 = c2.new T3(c2, str);\n" + >+ " }\n" + >+ " class T2 {\n" + >+ " T2(T c, String str) {}\n" + >+ " class T3 {\n" + >+ " T3(T2 c, String str) {}\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > // search constructor first level member >@@ -3490,7 +3491,7 @@ > search(type.getMethods()[0], REFERENCES); > // verify searches results > assertSearchResults( >- "src/b95152/T.java b95152.T(T, String) [new T2(c, str)] EXACT_MATCH\n" + >+ "src/b95152/T.java b95152.T(T, String) [new T2(c, str)] EXACT_MATCH\n" + > "src/b95152/T.java b95152.T(T, String) [c2.new T3(c2, str)] EXACT_MATCH" > ); > } >@@ -3502,19 +3503,19 @@ > public void testBug95794() throws CoreException { > ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); > IType type = unit.getType("Test"); >- >+ > // Verify matches > TestCollector occurencesCollector = new TestCollector(); > occurencesCollector.showAccuracy = true; > search(type, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); > assertSearchResults( >- "src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + >- "src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + >- "src/b95794/Test.java b95794.Test [Test] EXACT_MATCH\n" + >+ "src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + >+ "src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + >+ "src/b95794/Test.java b95794.Test [Test] EXACT_MATCH\n" + > "src/b95794/Test.java b95794.Test.there [Test] EXACT_MATCH", > occurencesCollector > ); >- >+ > // Verify with references matches > TestCollector referencesCollector = new TestCollector(); > search(type, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); >@@ -3524,19 +3525,19 @@ > resultCollector.showRule = true; > ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); > IType type = unit.getType("Test").getType("Color"); >- >+ > // Verify matches > TestCollector occurencesCollector = new TestCollector(); > occurencesCollector.showAccuracy = true; > search(type, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); > assertSearchResults( >- "src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + >- "src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + >- "src/b95794/Test.java void b95794.Test.main(String[]) [Color] EXACT_MATCH\n" + >+ "src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + >+ "src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + >+ "src/b95794/Test.java void b95794.Test.main(String[]) [Color] EXACT_MATCH\n" + > "src/b95794/Test.java b95794.Test$Color [Color] EXACT_MATCH", > occurencesCollector > ); >- >+ > // Verify with references matches > TestCollector referencesCollector = new TestCollector(); > search(type, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); >@@ -3546,18 +3547,18 @@ > resultCollector.showRule = true; > ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); > IField field = unit.getType("Test").getType("Color").getField("WHITE"); >- >+ > // Verify matches > TestCollector occurencesCollector = new TestCollector(); > occurencesCollector.showAccuracy = true; > search(field, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); > assertSearchResults( >- "src/b95794/Test.java [WHITE] EXACT_MATCH\n" + >- "src/b95794/Test.java void b95794.Test.main(String[]) [WHITE] EXACT_MATCH\n" + >+ "src/b95794/Test.java [WHITE] EXACT_MATCH\n" + >+ "src/b95794/Test.java void b95794.Test.main(String[]) [WHITE] EXACT_MATCH\n" + > "src/b95794/Test.java b95794.Test$Color.WHITE [WHITE] EXACT_MATCH", > occurencesCollector > ); >- >+ > // Verify with references matches > TestCollector referencesCollector = new TestCollector(); > search(field, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); >@@ -3571,16 +3572,16 @@ > public void testBug96761() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96761/Generic.java", >- "package b96761;\n" + >- "public class Generic<G> {\n" + >- " void take(G g) {\n" + >- " }\n" + >- "}\n" + >- "class Impl extends Generic<RuntimeException> {\n" + >- " void take(InterruptedException g) {\n" + >- " }\n" + >- " void take(RuntimeException g) {\n" + >- " }\n" + >+ "package b96761;\n" + >+ "public class Generic<G> {\n" + >+ " void take(G g) {\n" + >+ " }\n" + >+ "}\n" + >+ "class Impl extends Generic<RuntimeException> {\n" + >+ " void take(InterruptedException g) {\n" + >+ " }\n" + >+ " void take(RuntimeException g) {\n" + >+ " }\n" + > "}" > ); > IType type = workingCopies[0].getType("Generic"); >@@ -3596,58 +3597,58 @@ > public void testBug96763() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", >- "package b96763;\n" + >- "class Test<T> {\n" + >- " public void first(Exception num) {}\n" + >- " public void second(T t) {}\n" + >- "}\n" + >- "class Sub extends Test<Exception> {\n" + >- " public void first(Exception num) {}\n" + >- " public void second(Exception t) {}\n" + >+ "package b96763;\n" + >+ "class Test<T> {\n" + >+ " public void first(Exception num) {}\n" + >+ " public void second(T t) {}\n" + >+ "}\n" + >+ "class Sub extends Test<Exception> {\n" + >+ " public void first(Exception num) {}\n" + >+ " public void second(Exception t) {}\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Sub").getMethods()[0]; > search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b96763/Test.java void b96763.Test.first(Exception) [first] EXACT_MATCH\n" + >+ "src/b96763/Test.java void b96763.Test.first(Exception) [first] EXACT_MATCH\n" + > "src/b96763/Test.java void b96763.Sub.first(Exception) [first] EXACT_MATCH" > ); > } > public void testBug96763b() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", >- "package b96763;\n" + >- "class Test<T> {\n" + >- " public void first(Exception num) {}\n" + >- " public void second(T t) {}\n" + >- "}\n" + >- "class Sub extends Test<Exception> {\n" + >- " public void first(Exception num) {}\n" + >- " public void second(Exception t) {}\n" + >+ "package b96763;\n" + >+ "class Test<T> {\n" + >+ " public void first(Exception num) {}\n" + >+ " public void second(T t) {}\n" + >+ "}\n" + >+ "class Sub extends Test<Exception> {\n" + >+ " public void first(Exception num) {}\n" + >+ " public void second(Exception t) {}\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Sub").getMethods()[1]; > search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b96763/Test.java void b96763.Test.second(T) [second] EXACT_MATCH\n" + >+ "src/b96763/Test.java void b96763.Test.second(T) [second] EXACT_MATCH\n" + > "src/b96763/Test.java void b96763.Sub.second(Exception) [second] EXACT_MATCH" > ); > } > public void testBug96763c() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", >- "package b96763;\n" + >- "public class Test<T> {\n" + >- " void methodT(T t) {}\n" + >- "}\n" + >- "class Sub<X> extends Test<X> {\n" + >- " void methodT(X x) {} // overrides Super#methodT(T)\n" + >+ "package b96763;\n" + >+ "public class Test<T> {\n" + >+ " void methodT(T t) {}\n" + >+ "}\n" + >+ "class Sub<X> extends Test<X> {\n" + >+ " void methodT(X x) {} // overrides Super#methodT(T)\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Sub").getMethods()[0]; > search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); > assertSearchResults( >- "src/b96763/Test.java void b96763.Test.methodT(T) [methodT] EXACT_MATCH\n" + >+ "src/b96763/Test.java void b96763.Test.methodT(T) [methodT] EXACT_MATCH\n" + > "src/b96763/Test.java void b96763.Sub.methodT(X) [methodT] EXACT_MATCH" > ); > } >@@ -3660,28 +3661,28 @@ > workingCopies = new ICompilationUnit[1]; > this.resultCollector.showRule = true; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97087/Bug.java", >- "package b97087;\n" + >- "public class Bug<Type> {\n" + >- " Bug(){}\n" + >- "}\n" + >- "class Foo extends Bug<String>{\n" + >- " Foo(){}\n" + >+ "package b97087;\n" + >+ "public class Bug<Type> {\n" + >+ " Bug(){}\n" + > "}\n" + >- "class Bar extends Bug<Exception>{\n" + >- " Bar(){super();}\n" + >+ "class Foo extends Bug<String>{\n" + >+ " Foo(){}\n" + >+ "}\n" + >+ "class Bar extends Bug<Exception>{\n" + >+ " Bar(){super();}\n" + > "}" > ); > IType type = workingCopies[0].getType("Bug"); > IMethod method= type.getMethods()[0]; > search(method, REFERENCES, SearchPattern.R_ERASURE_MATCH); > assertSearchResults( >- "src/b97087/Bug.java b97087.Foo() [Foo] EXACT_MATCH\n" + >+ "src/b97087/Bug.java b97087.Foo() [Foo] EXACT_MATCH\n" + > "src/b97087/Bug.java b97087.Bar() [super();] ERASURE_MATCH" > ); > } > > /** >- * Bug 97120: >+ * Bug 97120: > * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=97120" > */ > public void testBug97120() throws CoreException { >@@ -3701,7 +3702,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "java.lang.Error\n" + >+ "java.lang.Error\n" + > "java.lang.Exception", > requestor > ); >@@ -3714,12 +3715,12 @@ > public void testBug97322() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97322/Test.java", >- "package b97322;\n" + >- "class Test {\n" + >- " static void myMethod(int a, String b) {}\n" + >- " void call() {\n" + >- " myMethod(12);\n" + >- " }\n" + >+ "package b97322;\n" + >+ "class Test {\n" + >+ " static void myMethod(int a, String b) {}\n" + >+ " void call() {\n" + >+ " myMethod(12);\n" + >+ " }\n" + > "}" > ); > IType type = workingCopies[0].getType("Test"); >@@ -3735,16 +3736,16 @@ > public void testBug97547() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97547/IX.java", >- "package b97547;\n" + >- "public interface IX {\n" + >- " public interface IX1 {}\n" + >+ "package b97547;\n" + >+ "public interface IX {\n" + >+ " public interface IX1 {}\n" + > "}" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97547/X.java", >- "package b97547;\n" + >- "import b97547.IX.*;\n" + >- "class X {\n" + >- " IX x;\n" + >+ "package b97547;\n" + >+ "import b97547.IX.*;\n" + >+ "class X {\n" + >+ " IX x;\n" + > "}" > ); > IPackageDeclaration[] packages = workingCopies[0].getPackageDeclarations(); >@@ -3762,30 +3763,30 @@ > public void testBug97606() throws CoreException { > workingCopies = new ICompilationUnit[4]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/L.java", >- "package b97606.pack.def;\n" + >+ "package b97606.pack.def;\n" + > "public interface L<E> {}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/LL.java", >- "package b97606.pack.def;\n" + >- "public class LL<E> implements L<E> {\n" + >- " public Object clone() {\n" + >- " return null;\n" + >- " }\n" + >+ "package b97606.pack.def;\n" + >+ "public class LL<E> implements L<E> {\n" + >+ " public Object clone() {\n" + >+ " return null;\n" + >+ " }\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/K.java", >- "package b97606.pack.ref;\n" + >+ "package b97606.pack.ref;\n" + > "public interface K {}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/X.java", >- "package b97606.pack.ref;\n" + >- "public class X implements K {\n" + >- " private b97606.pack.def.LL sg;\n" + >- " protected synchronized b97606.pack.def.L<K> getSG() {\n" + >- " return (sg != null) \n" + >- " ? (b97606.pack.def.L) sg.clone()\n" + >- " : null;\n" + >- " }\n" + >+ "package b97606.pack.ref;\n" + >+ "public class X implements K {\n" + >+ " private b97606.pack.def.LL sg;\n" + >+ " protected synchronized b97606.pack.def.L<K> getSG() {\n" + >+ " return (sg != null) \n" + >+ " ? (b97606.pack.def.L) sg.clone()\n" + >+ " : null;\n" + >+ " }\n" + > "}\n" > ); > IPath rootPath = new Path("/JavaSearchBugs/src/b97606"); >@@ -3802,8 +3803,8 @@ > IType type = workingCopies[0].getType("L"); > search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH); > assertSearchResults( >- "src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + >- "src/b97606/pack/ref/X.java b97606.pack.def.L<K> b97606.pack.ref.X.getSG() [b97606.pack.def.L] ERASURE_MATCH\n" + >+ "src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + >+ "src/b97606/pack/ref/X.java b97606.pack.def.L<K> b97606.pack.ref.X.getSG() [b97606.pack.def.L] ERASURE_MATCH\n" + > "src/b97606/pack/ref/X.java b97606.pack.def.L<K> b97606.pack.ref.X.getSG() [b97606.pack.def.L] ERASURE_RAW_MATCH" > ); > } >@@ -3814,31 +3815,31 @@ > public void testBug97606b() throws CoreException { > workingCopies = new ICompilationUnit[4]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/L.java", >- "package b97606.pack.def;\n" + >+ "package b97606.pack.def;\n" + > "public interface L<E> {}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/LL.java", >- "package b97606.pack.def;\n" + >- "public class LL<E> implements L<E> {\n" + >- " public Object clone() {\n" + >- " return null;\n" + >- " }\n" + >+ "package b97606.pack.def;\n" + >+ "public class LL<E> implements L<E> {\n" + >+ " public Object clone() {\n" + >+ " return null;\n" + >+ " }\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/K.java", >- "package b97606.pack.ref;\n" + >+ "package b97606.pack.ref;\n" + > "public interface K {}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/X.java", >- "package b97606.pack.ref;\n" + >- "import b97606.pack.def.*;\n" + >- "public class X implements K {\n" + >- " private LL sg;\n" + >- " protected synchronized L<K> getSG() {\n" + >- " return (sg != null) \n" + >- " ? (L) sg.clone()\n" + >- " : null;\n" + >- " }\n" + >+ "package b97606.pack.ref;\n" + >+ "import b97606.pack.def.*;\n" + >+ "public class X implements K {\n" + >+ " private LL sg;\n" + >+ " protected synchronized L<K> getSG() {\n" + >+ " return (sg != null) \n" + >+ " ? (L) sg.clone()\n" + >+ " : null;\n" + >+ " }\n" + > "}\n" > ); > IPath rootPath = new Path("/JavaSearchBugs/src/b97606"); >@@ -3855,8 +3856,8 @@ > IType type = workingCopies[0].getType("L"); > search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH); > assertSearchResults( >- "src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + >- "src/b97606/pack/ref/X.java L<K> b97606.pack.ref.X.getSG() [L] ERASURE_MATCH\n" + >+ "src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + >+ "src/b97606/pack/ref/X.java L<K> b97606.pack.ref.X.getSG() [L] ERASURE_MATCH\n" + > "src/b97606/pack/ref/X.java L<K> b97606.pack.ref.X.getSG() [L] ERASURE_RAW_MATCH" > ); > } >@@ -3872,34 +3873,34 @@ > public void testBug97614() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97614/W.java", >- "package b97614;\n" + >- "public class W {\n" + >- " private final Map<String, Y<?, ? extends b97614.X.XX<?, ?>, ? >> m1 = null; // (a)\n" + >- " public void getStore(final Object o) {\n" + >- " m1.get(o); // (b)\n" + >- " }\n" + >- "}\n" + >- "interface Map<K, V> {\n" + >- " V get(Object k);\n" + >+ "package b97614;\n" + >+ "public class W {\n" + >+ " private final Map<String, Y<?, ? extends b97614.X.XX<?, ?>, ? >> m1 = null; // (a)\n" + >+ " public void getStore(final Object o) {\n" + >+ " m1.get(o); // (b)\n" + >+ " }\n" + >+ "}\n" + >+ "interface Map<K, V> {\n" + >+ " V get(Object k);\n" + > "}" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97614/X.java", >- "package b97614;\n" + >- "import java.io.Serializable;\n" + >- "public interface X<T extends X<T, U, V>, \n" + >- " U extends X.XX<T, V>, \n" + >- " V extends X.XY> {\n" + >- " public interface XX<TT extends X<TT, ?, UU>, \n" + >- " UU extends X.XY> \n" + >- " extends Serializable {\n" + >- " }\n" + >- " public interface XY extends Serializable {\n" + >- " }\n" + >+ "package b97614;\n" + >+ "import java.io.Serializable;\n" + >+ "public interface X<T extends X<T, U, V>, \n" + >+ " U extends X.XX<T, V>, \n" + >+ " V extends X.XY> {\n" + >+ " public interface XX<TT extends X<TT, ?, UU>, \n" + >+ " UU extends X.XY> \n" + >+ " extends Serializable {\n" + >+ " }\n" + >+ " public interface XY extends Serializable {\n" + >+ " }\n" + > "}" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97614/Y.java", >- "package b97614;\n" + >- "public class Y<T extends X<T, U, V>, U extends X.XX<T, V>, V extends X.XY> {\n" + >+ "package b97614;\n" + >+ "public class Y<T extends X<T, U, V>, U extends X.XX<T, V>, V extends X.XY> {\n" + > "}\n" > ); > IField field = workingCopies[0].getType("W").getField("m1"); >@@ -3916,19 +3917,19 @@ > public void testBug98378() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b98378/X.java", >- "package b98378;\n" + >- "public class X implements java.lang.CharSequence {\n" + >- " public int length() {\n" + >- " return 1;\n" + >- " }\n" + >+ "package b98378;\n" + >+ "public class X implements java.lang.CharSequence {\n" + >+ " public int length() {\n" + >+ " return 1;\n" + >+ " }\n" + > "}" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b98378/Y.java", >- "package b98378;\n" + >- "public class Y {\n" + >- " public int length() {\n" + >- " return -1;\n" + >- " }\n" + >+ "package b98378;\n" + >+ "public class Y {\n" + >+ " public int length() {\n" + >+ " return -1;\n" + >+ " }\n" + > "}\n" > ); > String jclPath = getExternalJCLPathString("1.5"); >@@ -3936,26 +3937,26 @@ > IMethod method = type.getMethod("length", new String[] {}); > search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type, this.wcOwner)); > assertSearchResults( >- jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + >+ jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + > jclPath + " int java.lang.String.length() EXACT_MATCH" > ); > } > public void testBug98378b() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b98378/X.java", >- "package b98378;\n" + >- "public class X implements java.lang.CharSequence {\n" + >- " public int length() {\n" + >- " return 1;\n" + >- " }\n" + >+ "package b98378;\n" + >+ "public class X implements java.lang.CharSequence {\n" + >+ " public int length() {\n" + >+ " return 1;\n" + >+ " }\n" + > "}" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b98378/Y.java", >- "package b98378;\n" + >- "public class Y {\n" + >- " public int length() {\n" + >- " return -1;\n" + >- " }\n" + >+ "package b98378;\n" + >+ "public class Y {\n" + >+ " public int length() {\n" + >+ " return -1;\n" + >+ " }\n" + > "}\n" > ); > String jclPath = getExternalJCLPathString("1.5"); >@@ -3963,8 +3964,8 @@ > IMethod method = type.getMethod("length", new String[] {}); > search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE, SearchEngine.createHierarchyScope(type, this.wcOwner)); > assertSearchResults( >- "src/b98378/X.java int b98378.X.length() [length] EXACT_MATCH\n" + >- jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + >+ "src/b98378/X.java int b98378.X.length() [length] EXACT_MATCH\n" + >+ jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + > jclPath + " int java.lang.String.length() EXACT_MATCH" > ); > } >@@ -3976,17 +3977,17 @@ > public void testBug99600() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99600/Test.java", >- "package b99600;\n" + >- "public class Test {\n" + >- " public class C1 {}\n" + >- " public class C2 {\n" + >- " class C3 {\n" + >- " int foo(C1 c) { return 0; }\n" + >- " }\n" + >- " public void foo(C1 c, int i) {\n" + >- " new C3().foo(c);\n" + >- " }\n" + >- " }\n" + >+ "package b99600;\n" + >+ "public class Test {\n" + >+ " public class C1 {}\n" + >+ " public class C2 {\n" + >+ " class C3 {\n" + >+ " int foo(C1 c) { return 0; }\n" + >+ " }\n" + >+ " public void foo(C1 c, int i) {\n" + >+ " new C3().foo(c);\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("Test").getType("C2"); >@@ -4003,20 +4004,20 @@ > public void testBug99903_annotation() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99903/package-info.java", >- "/**\n" + >- " * @see Test\n" + >- " */\n" + >- "@Annot\n" + >+ "/**\n" + >+ " * @see Test\n" + >+ " */\n" + >+ "@Annot\n" + > "package b99903;\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b99903/Test.java", >- "package b99903;\n" + >- "public class Test {\n" + >+ "package b99903;\n" + >+ "public class Test {\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b99903/Annot.java", >- "package b99903;\n" + >- "public @interface Annot {\n" + >+ "package b99903;\n" + >+ "public @interface Annot {\n" + > "}\n" > ); > IType type = workingCopies[2].getType("Annot"); >@@ -4028,20 +4029,20 @@ > public void testBug99903_javadoc() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99903/package-info.java", >- "/**\n" + >- " * @see Test\n" + >- " */\n" + >- "@Annot\n" + >+ "/**\n" + >+ " * @see Test\n" + >+ " */\n" + >+ "@Annot\n" + > "package b99903;\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b99903/Test.java", >- "package b99903;\n" + >- "public class Test {\n" + >+ "package b99903;\n" + >+ "public class Test {\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b99903/Annot.java", >- "package b99903;\n" + >- "public @interface Annot {\n" + >+ "package b99903;\n" + >+ "public @interface Annot {\n" + > "}\n" > ); > resultCollector.showInsideDoc = true; >@@ -4059,139 +4060,139 @@ > public void testBug100695() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", >- "package b100695;\n" + >- "public class Test {\n" + >- " Class<Class>[] foo;\n" + >- " Class<Class>[] bar = foo;\n" + >- " Test() {\n" + >- " foo = null;\n" + >- " }\n" + >+ "package b100695;\n" + >+ "public class Test {\n" + >+ " Class<Class>[] foo;\n" + >+ " Class<Class>[] bar = foo;\n" + >+ " Test() {\n" + >+ " foo = null;\n" + >+ " }\n" + > "}\n" > ); > IField field = workingCopies[0].getType("Test").getField("foo"); > search(field, REFERENCES); > assertSearchResults( >- "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + > "src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" > ); > } > public void testBug100695a() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", >- "package b100695;\n" + >- "public class Test {\n" + >- " Class<Class>[] foo;\n" + >- " Class<Class>[] bar = foo;\n" + >- " Test() {\n" + >- " foo = null;\n" + >- " }\n" + >+ "package b100695;\n" + >+ "public class Test {\n" + >+ " Class<Class>[] foo;\n" + >+ " Class<Class>[] bar = foo;\n" + >+ " Test() {\n" + >+ " foo = null;\n" + >+ " }\n" + > "}\n" > ); > IField field = workingCopies[0].getType("Test").getField("foo"); > search(field, ALL_OCCURRENCES); > assertSearchResults( >- "src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + >- "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + > "src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" > ); > } > public void testBug100695b() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", >- "package b100695;\n" + >- "public class Test {\n" + >- " Class<Class> foo;\n" + >- " Class<Class> bar = foo;\n" + >- " Test() {\n" + >- " foo = null;\n" + >- " }\n" + >+ "package b100695;\n" + >+ "public class Test {\n" + >+ " Class<Class> foo;\n" + >+ " Class<Class> bar = foo;\n" + >+ " Test() {\n" + >+ " foo = null;\n" + >+ " }\n" + > "}\n" > ); > IField field = workingCopies[0].getType("Test").getField("foo"); > search(field, ALL_OCCURRENCES); > assertSearchResults( >- "src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + >- "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + > "src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" > ); > } > public void testBug100695c() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", >- "package b100695;\n" + >- "public class Test {\n" + >- " Class[] foo;\n" + >- " Class[] bar = foo;\n" + >- " Test() {\n" + >- " foo = null;\n" + >- " }\n" + >+ "package b100695;\n" + >+ "public class Test {\n" + >+ " Class[] foo;\n" + >+ " Class[] bar = foo;\n" + >+ " Test() {\n" + >+ " foo = null;\n" + >+ " }\n" + > "}\n" > ); > IField field = workingCopies[0].getType("Test").getField("foo"); > search(field, ALL_OCCURRENCES); > assertSearchResults( >- "src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + >- "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + > "src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" > ); > } > public void testBug100695d() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", >- "package b100695;\n" + >- "public class Test {\n" + >- " public Class<Class>[] foo(Class<Class>[] a) {\n" + >- " return a;\n" + >- " }\n" + >- " void bar() {\n" + >- " foo(new Class[0]);\n" + >- " }\n" + >+ "package b100695;\n" + >+ "public class Test {\n" + >+ " public Class<Class>[] foo(Class<Class>[] a) {\n" + >+ " return a;\n" + >+ " }\n" + >+ " void bar() {\n" + >+ " foo(new Class[0]);\n" + >+ " }\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Test").getMethods()[0]; > search(method, ALL_OCCURRENCES); > assertSearchResults( >- "src/b100695/Test.java Class<Class>[] b100695.Test.foo(Class<Class>[]) [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java Class<Class>[] b100695.Test.foo(Class<Class>[]) [foo] EXACT_MATCH\n" + > "src/b100695/Test.java void b100695.Test.bar() [foo(new Class[0])] EXACT_MATCH" > ); > } > public void testBug100695e() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", >- "package b100695;\n" + >- "public class Test {\n" + >- " public Class<Class> foo(Class<Class> a) {\n" + >- " return a;\n" + >- " }\n" + >- " void bar() {\n" + >- " foo(null);\n" + >- " }\n" + >+ "package b100695;\n" + >+ "public class Test {\n" + >+ " public Class<Class> foo(Class<Class> a) {\n" + >+ " return a;\n" + >+ " }\n" + >+ " void bar() {\n" + >+ " foo(null);\n" + >+ " }\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Test").getMethods()[0]; > search(method, ALL_OCCURRENCES); > assertSearchResults( >- "src/b100695/Test.java Class<Class> b100695.Test.foo(Class<Class>) [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java Class<Class> b100695.Test.foo(Class<Class>) [foo] EXACT_MATCH\n" + > "src/b100695/Test.java void b100695.Test.bar() [foo(null)] EXACT_MATCH" > ); > } > public void testBug100695f() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", >- "package b100695;\n" + >- "public class Test {\n" + >- " public Class[] foo(Class[] a) {\n" + >- " return a;\n" + >- " }\n" + >- " void bar() {\n" + >- " foo(new Class[0]);\n" + >- " }\n" + >+ "package b100695;\n" + >+ "public class Test {\n" + >+ " public Class[] foo(Class[] a) {\n" + >+ " return a;\n" + >+ " }\n" + >+ " void bar() {\n" + >+ " foo(new Class[0]);\n" + >+ " }\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("Test").getMethods()[0]; > search(method, ALL_OCCURRENCES); > assertSearchResults( >- "src/b100695/Test.java Class[] b100695.Test.foo(Class[]) [foo] EXACT_MATCH\n" + >+ "src/b100695/Test.java Class[] b100695.Test.foo(Class[]) [foo] EXACT_MATCH\n" + > "src/b100695/Test.java void b100695.Test.bar() [foo(new Class[0])] EXACT_MATCH" > ); > } >@@ -4203,14 +4204,14 @@ > private void setUpBug100772_HierarchyScope_ClassAndSubclass() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", >- "package b100772;\n" + >- "class Test<T> {\n" + >- " public void foo(T t) {}\n" + >- " public void foo(Class c) {}\n" + >- "}\n" + >- "class Sub extends Test<String> {\n" + >- " public void foo(String str) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "class Test<T> {\n" + >+ " public void foo(T t) {}\n" + >+ " public void foo(Class c) {}\n" + >+ "}\n" + >+ "class Sub extends Test<String> {\n" + >+ " public void foo(String str) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > } >@@ -4220,7 +4221,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4230,7 +4231,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4249,7 +4250,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4265,19 +4266,19 @@ > private void setUpBug100772_HierarchyScope_InterfacesAndClass() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", >- "package b100772;\n" + >- "interface Test<T> {\n" + >- " public void foo(T t);\n" + >- " public void foo(Class c);\n" + >- "}\n" + >- "interface Sub extends Test<String> {\n" + >- " public void foo(String str);\n" + >- " public void foo(Exception e);\n" + >- "}\n" + >- "class X implements Test<String> {\n" + >- " public void foo(String str) {}\n" + >- " public void foo(Class c) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "interface Test<T> {\n" + >+ " public void foo(T t);\n" + >+ " public void foo(Class c);\n" + >+ "}\n" + >+ "interface Sub extends Test<String> {\n" + >+ " public void foo(String str);\n" + >+ " public void foo(Exception e);\n" + >+ "}\n" + >+ "class X implements Test<String> {\n" + >+ " public void foo(String str) {}\n" + >+ " public void foo(Class c) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > } >@@ -4287,8 +4288,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4298,8 +4299,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4309,7 +4310,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QClass;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.X.foo(Class) [foo] EXACT_MATCH" > ); > } >@@ -4319,7 +4320,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4338,7 +4339,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4348,7 +4349,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QClass;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.X.foo(Class) [foo] EXACT_MATCH" > ); > } >@@ -4364,27 +4365,27 @@ > private void setUpBug100772_HierarchyScope_Complex() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", >- "package b100772;\n" + >- "public class X<T> implements IX<T> {\n" + >- " public void foo(T t) {}\n" + >- "}\n" + >- "class XX extends X<String> {\n" + >- " public void foo(String s) {}\n" + >- " public void foo(Exception e) {}\n" + >- "}\n" + >- "interface IX<U> {\n" + >- " public void foo(U u);\n" + >- "}\n" + >- "class Y implements IX<String> {\n" + >- " public void foo(String s) {}\n" + >- " public void foo(Exception e) {}\n" + >- "}\n" + >- "interface IXX<V extends Exception> {\n" + >- " public void foo(V v);\n" + >- "}\n" + >- "class Z extends Y implements IXX<Exception> {\n" + >- " public void foo(String s) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "public class X<T> implements IX<T> {\n" + >+ " public void foo(T t) {}\n" + >+ "}\n" + >+ "class XX extends X<String> {\n" + >+ " public void foo(String s) {}\n" + >+ " public void foo(Exception e) {}\n" + >+ "}\n" + >+ "interface IX<U> {\n" + >+ " public void foo(U u);\n" + >+ "}\n" + >+ "class Y implements IX<String> {\n" + >+ " public void foo(String s) {}\n" + >+ " public void foo(Exception e) {}\n" + >+ "}\n" + >+ "interface IXX<V extends Exception> {\n" + >+ " public void foo(V v);\n" + >+ "}\n" + >+ "class Z extends Y implements IXX<Exception> {\n" + >+ " public void foo(String s) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > } >@@ -4394,10 +4395,10 @@ > IMethod method = type.getMethod("foo", new String[] { "QU;" }); > search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Z.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4407,8 +4408,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Z.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4418,8 +4419,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QException;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Z.foo(Exception) [foo] EXACT_MATCH" > ); > } >@@ -4429,25 +4430,25 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); > assertSearchResults( >- "src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH" > ); > } > private void setUpBug100772_ProjectScope_ClassAndSubclass() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", >- "package b100772;\n" + >- "class Test<T> {\n" + >- " public void foo(T t) {}\n" + >- " public void foo(Class c) {}\n" + >+ "package b100772;\n" + >+ "class Test<T> {\n" + >+ " public void foo(T t) {}\n" + >+ " public void foo(Class c) {}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/Sub.java", >- "package b100772;\n" + >- "class Sub extends Test<String> {\n" + >- " public void foo(String str) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "class Sub extends Test<String> {\n" + >+ " public void foo(String str) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > } >@@ -4457,7 +4458,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" > ); > } >@@ -4467,7 +4468,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" > ); > } >@@ -4486,7 +4487,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" > ); > } >@@ -4502,25 +4503,25 @@ > private void setUpBug100772_ProjectScope_InterfacesAndClass() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", >- "package b100772;\n" + >- "interface Test<T> {\n" + >- " public void foo(T t);\n" + >- " public void foo(Class c);\n" + >+ "package b100772;\n" + >+ "interface Test<T> {\n" + >+ " public void foo(T t);\n" + >+ " public void foo(Class c);\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/Sub.java", >- "package b100772;\n" + >- "interface Sub extends Test<String> {\n" + >- " public void foo(String str);\n" + >- " public void foo(Exception e);\n" + >+ "package b100772;\n" + >+ "interface Sub extends Test<String> {\n" + >+ " public void foo(String str);\n" + >+ " public void foo(Exception e);\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b100772/X.java", >- "package b100772;\n" + >- "class X implements Test<String> {\n" + >- " public void foo(String str) {}\n" + >- " public void foo(Class c) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "class X implements Test<String> {\n" + >+ " public void foo(String str) {}\n" + >+ " public void foo(Class c) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > } >@@ -4530,8 +4531,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4541,8 +4542,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4552,7 +4553,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QClass;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(Class) [foo] EXACT_MATCH" > ); > } >@@ -4562,8 +4563,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4573,7 +4574,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QException;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(Exception) [foo] EXACT_MATCH" > ); > } >@@ -4583,8 +4584,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >- "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4594,7 +4595,7 @@ > IMethod method = type.getMethod("foo", new String[] { "QClass;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + >+ "src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(Class) [foo] EXACT_MATCH" > ); > } >@@ -4604,49 +4605,49 @@ > IMethod method = type.getMethod("foo", new String[] { "QException;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + >+ "src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + > "src/b100772/X.java void b100772.X.foo(Exception) [foo] EXACT_MATCH" > ); > } > private void setUpBug100772_ProjectScope_Complex() throws CoreException { > workingCopies = new ICompilationUnit[6]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/X.java", >- "package b100772;\n" + >- "public class X<T> implements IX<T> {\n" + >- " public void foo(T t) {}\n" + >+ "package b100772;\n" + >+ "public class X<T> implements IX<T> {\n" + >+ " public void foo(T t) {}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/XX.java", >- "package b100772;\n" + >- "class XX extends X<String> {\n" + >- " public void foo(String s) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "class XX extends X<String> {\n" + >+ " public void foo(String s) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b100772/IX.java", >- "package b100772;\n" + >- "interface IX<U> {\n" + >- " public void foo(U u);\n" + >+ "package b100772;\n" + >+ "interface IX<U> {\n" + >+ " public void foo(U u);\n" + > "}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b100772/Y.java", >- "package b100772;\n" + >- "class Y implements IX<String> {\n" + >- " public void foo(String s) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "class Y implements IX<String> {\n" + >+ " public void foo(String s) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b100772/IXX.java", >- "package b100772;\n" + >- "interface IXX<V extends Exception> {\n" + >- " public void foo(V v);\n" + >+ "package b100772;\n" + >+ "interface IXX<V extends Exception> {\n" + >+ " public void foo(V v);\n" + > "}\n" > ); > workingCopies[5] = getWorkingCopy("/JavaSearchBugs/src/b100772/Z.java", >- "package b100772;\n" + >- "class Z extends Y implements IXX<Exception> {\n" + >- " public void foo(String s) {}\n" + >- " public void foo(Exception e) {}\n" + >+ "package b100772;\n" + >+ "class Z extends Y implements IXX<Exception> {\n" + >+ " public void foo(String s) {}\n" + >+ " public void foo(Exception e) {}\n" + > "}\n" > ); > } >@@ -4656,10 +4657,10 @@ > IMethod method = type.getMethod("foo", new String[] { "QU;" }); > search(method, DECLARATIONS); > assertSearchResults( >- "src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >- "src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >- "src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + >- "src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >+ "src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Z.java void b100772.Z.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4669,9 +4670,9 @@ > IMethod method = type.getMethod("foo", new String[] { "QString;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >- "src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + >- "src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >+ "src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + >+ "src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + > "src/b100772/Z.java void b100772.Z.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4681,9 +4682,9 @@ > IMethod method = type.getMethod("foo", new String[] { "QException;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/IXX.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + >- "src/b100772/XX.java void b100772.XX.foo(Exception) [foo] EXACT_MATCH\n" + >- "src/b100772/Y.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + >+ "src/b100772/IXX.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + >+ "src/b100772/XX.java void b100772.XX.foo(Exception) [foo] EXACT_MATCH\n" + >+ "src/b100772/Y.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + > "src/b100772/Z.java void b100772.Z.foo(Exception) [foo] EXACT_MATCH" > ); > } >@@ -4693,8 +4694,8 @@ > IMethod method = type.getMethod("foo", new String[] { "QT;" }); > search(method, UI_DECLARATIONS); > assertSearchResults( >- "src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >- "src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + >+ "src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + >+ "src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + > "src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH" > ); > } >@@ -4726,32 +4727,32 @@ > private void setUpBug110060_TypePattern() throws CoreException { > workingCopies = new ICompilationUnit[5]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/AA.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AA {\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b110060/AAxx.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AAxx {\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxxAyy.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AxxAyy {\n" + > "}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxA.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AxA {\n" + > "}\n" > ); > workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class Test {\n" + >- " AA aa;\n" + >- " AAxx aaxx;\n" + >- " AxA axa;\n" + >- " AxxAyy axxayy;\n" + >+ " AA aa;\n" + >+ " AAxx aaxx;\n" + >+ " AxA axa;\n" + >+ " AxxAyy axxayy;\n" + > "}\n" > ); > } >@@ -4759,9 +4760,9 @@ > setUpBug110060_TypePattern(); > search("AA", TYPE, REFERENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" > ); > } >@@ -4770,13 +4771,13 @@ > setUpBug110060_TypePattern(); > search("AA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >- "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >- "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + >+ "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" > ); > } >@@ -4785,7 +4786,7 @@ > setUpBug110060_TypePattern(); > search("AAx", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH" > ); > } >@@ -4794,7 +4795,7 @@ > setUpBug110060_TypePattern(); > search("Axx", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" > ); > } >@@ -4803,9 +4804,9 @@ > setUpBug110060_TypePattern(); > search("Ax", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >- "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" > ); > } >@@ -4814,14 +4815,14 @@ > setUpBug110060_TypePattern(); > search("A*A*", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >- "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >- "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH\n" + > ""+ getExternalJCLPathString("1.5") + " java.lang.annotation.Annotation EXACT_MATCH" > ); > } >@@ -4836,9 +4837,9 @@ > setUpBug110060_TypePattern(); > search("aa", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_PREFIX_MATCH); > assertSearchResults( >- "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >- "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >+ "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH" > ); > } >@@ -4847,13 +4848,13 @@ > setUpBug110060_TypePattern(); > search("AA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_CASE_SENSITIVE); > assertSearchResults( >- "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >- "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >- "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + >+ "src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" > ); > } >@@ -4868,7 +4869,7 @@ > setUpBug110060_TypePattern(); > search("AxxA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" > ); > } >@@ -4877,7 +4878,7 @@ > setUpBug110060_TypePattern(); > search("AxXA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" > ); > } >@@ -4898,9 +4899,9 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >- "b110060.AAxx\n" + >- "b110060.AxA\n" + >+ "b110060.AA\n" + >+ "b110060.AAxx\n" + >+ "b110060.AxA\n" + > "b110060.AxxAyy", > requestor); > } >@@ -4921,9 +4922,9 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >- "b110060.AAxx\n" + >- "b110060.AxA\n" + >+ "b110060.AA\n" + >+ "b110060.AAxx\n" + >+ "b110060.AxA\n" + > "b110060.AxxAyy", > requestor); > } >@@ -4944,9 +4945,9 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >- "b110060.AAxx\n" + >- "b110060.AxA\n" + >+ "b110060.AA\n" + >+ "b110060.AAxx\n" + >+ "b110060.AxA\n" + > "b110060.AxxAyy", > requestor); > } >@@ -4967,9 +4968,9 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >- "b110060.AAxx\n" + >- "b110060.AxA\n" + >+ "b110060.AA\n" + >+ "b110060.AAxx\n" + >+ "b110060.AxA\n" + > "b110060.AxxAyy", > requestor); > } >@@ -4990,7 +4991,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >+ "b110060.AA\n" + > "b110060.AAxx", > requestor); > } >@@ -5031,7 +5032,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >+ "b110060.AA\n" + > "b110060.AAxx", > requestor); > } >@@ -5052,7 +5053,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >+ "b110060.AA\n" + > "b110060.AAxx", > requestor); > } >@@ -5073,7 +5074,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >+ "b110060.AA\n" + > "b110060.AAxx", > requestor); > } >@@ -5134,7 +5135,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b110060.AA\n" + >+ "b110060.AA\n" + > "b110060.AAxx", > requestor); > } >@@ -5183,36 +5184,36 @@ > private void setUpBug110060_ConstructorPattern() throws CoreException { > workingCopies = new ICompilationUnit[5]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/AA.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AA {\n" + > " AA() {}\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b110060/AAxx.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AAxx {\n" + > " AAxx() {}\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxxAyy.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AxxAyy {\n" + > " AxxAyy() {}\n" + > "}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxA.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class AxA {\n" + > " AxA() {}\n" + > "}\n" > ); > workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class Test {\n" + >- " AA aa = new AA();\n" + >- " AAxx aaxx = new AAxx();\n" + >- " AxA axa = new AxA();\n" + >- " AxxAyy axxayy = new AxxAyy();\n" + >+ " AA aa = new AA();\n" + >+ " AAxx aaxx = new AAxx();\n" + >+ " AxA axa = new AxA();\n" + >+ " AxxAyy axxayy = new AxxAyy();\n" + > "}\n" > ); > } >@@ -5220,9 +5221,9 @@ > setUpBug110060_ConstructorPattern(); > search("AA", CONSTRUCTOR, REFERENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" > ); > } >@@ -5231,13 +5232,13 @@ > setUpBug110060_ConstructorPattern(); > search("AA", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + >- "src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + >- "src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + >- "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + >+ "src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + >+ "src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" > ); > } >@@ -5246,7 +5247,7 @@ > setUpBug110060_ConstructorPattern(); > search("AAx", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH" > ); > } >@@ -5255,7 +5256,7 @@ > setUpBug110060_ConstructorPattern(); > search("Axx", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" > ); > } >@@ -5264,9 +5265,9 @@ > setUpBug110060_ConstructorPattern(); > search("Ax", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + >- "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + >+ "src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" > ); > } >@@ -5275,13 +5276,13 @@ > setUpBug110060_ConstructorPattern(); > search("A*A*", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + >- "src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + >- "src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + >- "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + >+ "src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + >+ "src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + >+ "src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + >+ "src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" > ); > } >@@ -5290,20 +5291,20 @@ > private void setUpBug110060_MethodPattern() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class Test {\n" + >- " void aMethodWithNothingSpecial() {}\n" + >- " void aMethodWith1Digit() {}\n" + >- " void aMethodWith1DigitAnd_AnUnderscore() {}\n" + >- " void aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() {}\n" + >- " void otherMethodWhichStartsWithAnotherLetter() {}\n" + >- " void testReferences() {\n" + >- " aMethodWith1Digit();\n" + >- " aMethodWith1DigitAnd_AnUnderscore();\n" + >- " aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores();\n" + >- " aMethodWithNothingSpecial();\n" + >- " otherMethodWhichStartsWithAnotherLetter();\n" + >- " }\n" + >+ " void aMethodWithNothingSpecial() {}\n" + >+ " void aMethodWith1Digit() {}\n" + >+ " void aMethodWith1DigitAnd_AnUnderscore() {}\n" + >+ " void aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() {}\n" + >+ " void otherMethodWhichStartsWithAnotherLetter() {}\n" + >+ " void testReferences() {\n" + >+ " aMethodWith1Digit();\n" + >+ " aMethodWith1DigitAnd_AnUnderscore();\n" + >+ " aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores();\n" + >+ " aMethodWithNothingSpecial();\n" + >+ " otherMethodWhichStartsWithAnotherLetter();\n" + >+ " }\n" + > "}\n" > ); > } >@@ -5323,9 +5324,9 @@ > setUpBug110060_MethodPattern(); > search("aMWD", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH" > ); > } >@@ -5334,13 +5335,13 @@ > setUpBug110060_MethodPattern(); > search("aMW", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH" > ); > } >@@ -5349,13 +5350,13 @@ > setUpBug110060_MethodPattern(); > search("aMethod", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH" > ); > } >@@ -5364,11 +5365,11 @@ > setUpBug110060_MethodPattern(); > search("aMethodWith1", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH" > ); > } >@@ -5377,13 +5378,13 @@ > setUpBug110060_MethodPattern(); > search("*Method*With*A*", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.otherMethodWhichStartsWithAnotherLetter() [otherMethodWhichStartsWithAnotherLetter] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.otherMethodWhichStartsWithAnotherLetter() [otherMethodWhichStartsWithAnotherLetter] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [otherMethodWhichStartsWithAnotherLetter()] EXACT_MATCH" > ); > } >@@ -5398,7 +5399,7 @@ > setUpBug110060_MethodPattern(); > search("aMWOOODASU", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH" > ); > } >@@ -5407,20 +5408,20 @@ > private void setUpBug110060_FieldPattern() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", >- "package b110060;\n" + >+ "package b110060;\n" + > "public class Test {\n" + >- " Object aFieldWithNothingSpecial;\n" + >- " Object aFieldWithS$Dollar;\n" + >- " Object aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + >- " Object aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + >- " Object otherFieldWhichStartsWithAnotherLetter;\n" + >- " void testReferences() {\n" + >- " Object o0 = aFieldWithNothingSpecial;\n" + >- " Object o1 = aFieldWithS$Dollar;\n" + >- " Object o2 = aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + >- " Object o3 = aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + >- " }\n" + >- " Object oF = otherFieldWhichStartsWithAnotherLetter;\n" + >+ " Object aFieldWithNothingSpecial;\n" + >+ " Object aFieldWithS$Dollar;\n" + >+ " Object aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + >+ " Object aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + >+ " Object otherFieldWhichStartsWithAnotherLetter;\n" + >+ " void testReferences() {\n" + >+ " Object o0 = aFieldWithNothingSpecial;\n" + >+ " Object o1 = aFieldWithS$Dollar;\n" + >+ " Object o2 = aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + >+ " Object o3 = aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + >+ " }\n" + >+ " Object oF = otherFieldWhichStartsWithAnotherLetter;\n" + > "}\n" > ); > } >@@ -5428,9 +5429,9 @@ > setUpBug110060_FieldPattern(); > search("aFWSD", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore [aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore] EXACT_MATCH\n" + >- "src/b110060/Test.java void b110060.Test.testReferences() [aFieldWithS$Dollar] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore [aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore] EXACT_MATCH\n" + >+ "src/b110060/Test.java void b110060.Test.testReferences() [aFieldWithS$Dollar] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore] EXACT_MATCH" > ); > } >@@ -5445,7 +5446,7 @@ > setUpBug110060_FieldPattern(); > search("aFWS$", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aFieldWithS$Dollar] EXACT_MATCH" > ); > } >@@ -5454,7 +5455,7 @@ > setUpBug110060_FieldPattern(); > search("aSFWSCD", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java b110060.Test.aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars [aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars [aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars] EXACT_MATCH\n" + > "src/b110060/Test.java void b110060.Test.testReferences() [aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars] EXACT_MATCH" > ); > } >@@ -5463,8 +5464,8 @@ > setUpBug110060_FieldPattern(); > search("oF", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b110060/Test.java b110060.Test.otherFieldWhichStartsWithAnotherLetter [otherFieldWhichStartsWithAnotherLetter] EXACT_MATCH\n" + >- "src/b110060/Test.java b110060.Test.oF [oF] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.otherFieldWhichStartsWithAnotherLetter [otherFieldWhichStartsWithAnotherLetter] EXACT_MATCH\n" + >+ "src/b110060/Test.java b110060.Test.oF [oF] EXACT_MATCH\n" + > "src/b110060/Test.java b110060.Test.oF [otherFieldWhichStartsWithAnotherLetter] EXACT_MATCH" > ); > } >@@ -5476,8 +5477,8 @@ > public void testBug110291() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110291/Test110291XX.java", >- "package b110291;\n" + >- "public class Test110291XX {\n" + >+ "package b110291;\n" + >+ "public class Test110291XX {\n" + > " class Test110291YY {}" + > "}\n" > ); >@@ -5494,24 +5495,24 @@ > public void testBug110336a() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test {\n" + >- " <TP extends Test> void method(Class<Test> clazz) {\n" + >- " Test localVar1 = new Test();\n" + >- " Class<Test> localVar2 = new Class<Test>();\n" + >- " localVar1.method(localVar2);\n" + >- " }\n" + >+ "package b110336;\n" + >+ "public class Test {\n" + >+ " <TP extends Test> void method(Class<Test> clazz) {\n" + >+ " Test localVar1 = new Test();\n" + >+ " Class<Test> localVar2 = new Class<Test>();\n" + >+ " localVar1.method(localVar2);\n" + >+ " }\n" + > "}\n" > ); > IType type = this.workingCopies[0].getType("Test"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java void b110336.Test.method(Class<Test>).TP [Test]\n" + >- "src/b110336/Test.java void b110336.Test.method(Class<Test>).clazz [Test]\n" + >- "src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + >- "src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + >- "src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar2 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method(Class<Test>).TP [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method(Class<Test>).clazz [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar2 [Test]\n" + > "src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar2 [Test]", > collector > ); >@@ -5519,28 +5520,28 @@ > public void testBug110336b() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test {\n" + >- " void method1(Test methodParam) {\n" + >- " Test localVar1 = new Test(){\n" + >- " Class c = Test.class;\n" + >- " <TP extends Test> void foo(){\n" + >- " Test o = (Test) null;\n" + >- " }\n" + >- " };\n" + >- " } \n" + >+ "package b110336;\n" + >+ "public class Test {\n" + >+ " void method1(Test methodParam) {\n" + >+ " Test localVar1 = new Test(){\n" + >+ " Class c = Test.class;\n" + >+ " <TP extends Test> void foo(){\n" + >+ " Test o = (Test) null;\n" + >+ " }\n" + >+ " };\n" + >+ " } \n" + > "}\n" > ); > IType type = this.workingCopies[0].getType("Test"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1 [Test]\n" + >- "src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1.c [Test]\n" + >- "src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().TP [Test]\n" + >- "src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + >- "src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + >- "src/b110336/Test.java void b110336.Test.method1(Test).methodParam [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1.c [Test]\n" + >+ "src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().TP [Test]\n" + >+ "src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + >+ "src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.method1(Test).methodParam [Test]\n" + > "src/b110336/Test.java void b110336.Test.method1(Test).localVar1 [Test]", > collector > ); >@@ -5548,18 +5549,18 @@ > public void testBug110336c() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test<TP extends X> {\n" + >- " X x;\n" + >- "\n" + >- "}\n" + >+ "package b110336;\n" + >+ "public class Test<TP extends X> {\n" + >+ " X x;\n" + >+ "\n" + >+ "}\n" + > "class X {}\n" > ); > IType type = this.workingCopies[0].getType("X"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java b110336.Test.TP [X]\n" + >+ "src/b110336/Test.java b110336.Test.TP [X]\n" + > "src/b110336/Test.java b110336.Test.x [X]", > collector > ); >@@ -5567,22 +5568,22 @@ > public void testBug110336d() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test {\n" + >- " Test a1Test = null, b1Test = new Test(), c1Test;\n" + >- " Test a2Test = new Test(), b2Test, c2Test = null;\n" + >- " Test a3Test, b3Test = null, c3Test = new Test();\n" + >+ "package b110336;\n" + >+ "public class Test {\n" + >+ " Test a1Test = null, b1Test = new Test(), c1Test;\n" + >+ " Test a2Test = new Test(), b2Test, c2Test = null;\n" + >+ " Test a3Test, b3Test = null, c3Test = new Test();\n" + > "}\n" > ); > IType type = this.workingCopies[0].getType("Test"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java b110336.Test.a1Test [Test]+[b1Test,c1Test]\n" + >- "src/b110336/Test.java b110336.Test.b1Test [Test]\n" + >- "src/b110336/Test.java b110336.Test.a2Test [Test]+[b2Test,c2Test]\n" + >- "src/b110336/Test.java b110336.Test.a2Test [Test]\n" + >- "src/b110336/Test.java b110336.Test.a3Test [Test]+[b3Test,c3Test]\n" + >+ "src/b110336/Test.java b110336.Test.a1Test [Test]+[b1Test,c1Test]\n" + >+ "src/b110336/Test.java b110336.Test.b1Test [Test]\n" + >+ "src/b110336/Test.java b110336.Test.a2Test [Test]+[b2Test,c2Test]\n" + >+ "src/b110336/Test.java b110336.Test.a2Test [Test]\n" + >+ "src/b110336/Test.java b110336.Test.a3Test [Test]+[b3Test,c3Test]\n" + > "src/b110336/Test.java b110336.Test.c3Test [Test]", > collector > ); >@@ -5590,24 +5591,24 @@ > public void testBug110336e() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test {\n" + >- " void foo() {\n" + >- " Test lv1 = null, lv2 = new Test(), lv3;\n" + >- " Test lv4 = new Test(), lv5, lv6 = null;\n" + >- " Test lv7, lv8 = null, lv9 = new Test();\n" + >- " }\n" + >+ "package b110336;\n" + >+ "public class Test {\n" + >+ " void foo() {\n" + >+ " Test lv1 = null, lv2 = new Test(), lv3;\n" + >+ " Test lv4 = new Test(), lv5, lv6 = null;\n" + >+ " Test lv7, lv8 = null, lv9 = new Test();\n" + >+ " }\n" + > "}\n" > ); > IType type = this.workingCopies[0].getType("Test"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java void b110336.Test.foo().lv1 [Test]+[lv2,lv3]\n" + >- "src/b110336/Test.java void b110336.Test.foo().lv2 [Test]\n" + >- "src/b110336/Test.java void b110336.Test.foo().lv4 [Test]+[lv5,lv6]\n" + >- "src/b110336/Test.java void b110336.Test.foo().lv4 [Test]\n" + >- "src/b110336/Test.java void b110336.Test.foo().lv7 [Test]+[lv8,lv9]\n" + >+ "src/b110336/Test.java void b110336.Test.foo().lv1 [Test]+[lv2,lv3]\n" + >+ "src/b110336/Test.java void b110336.Test.foo().lv2 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.foo().lv4 [Test]+[lv5,lv6]\n" + >+ "src/b110336/Test.java void b110336.Test.foo().lv4 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.foo().lv7 [Test]+[lv8,lv9]\n" + > "src/b110336/Test.java void b110336.Test.foo().lv9 [Test]", > collector > ); >@@ -5615,28 +5616,28 @@ > public void testBug110336f() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test extends Exception {\n" + >- " void foo(Test test1) { // <- no local element\n" + >- " Test test2; // <- local element\n" + >- " try {\n" + >- " throw new Test();\n" + >- " }\n" + >- " catch (Test test4) { // <- no local element\n" + >- " }\n" + >- " for(Test test3;;) {} // <- local element\n" + >- " }\n" + >- "\n" + >+ "package b110336;\n" + >+ "public class Test extends Exception {\n" + >+ " void foo(Test test1) { // <- no local element\n" + >+ " Test test2; // <- local element\n" + >+ " try {\n" + >+ " throw new Test();\n" + >+ " }\n" + >+ " catch (Test test4) { // <- no local element\n" + >+ " }\n" + >+ " for(Test test3;;) {} // <- local element\n" + >+ " }\n" + >+ "\n" + > "}\n" > ); > IType type = this.workingCopies[0].getType("Test"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java void b110336.Test.foo(Test).test1 [Test]\n" + >- "src/b110336/Test.java void b110336.Test.foo(Test).test2 [Test]\n" + >- "src/b110336/Test.java void b110336.Test.foo(Test) [Test]\n" + >- "src/b110336/Test.java void b110336.Test.foo(Test).test4 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.foo(Test).test1 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.foo(Test).test2 [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.foo(Test) [Test]\n" + >+ "src/b110336/Test.java void b110336.Test.foo(Test).test4 [Test]\n" + > "src/b110336/Test.java void b110336.Test.foo(Test).test3 [Test]", > collector > ); >@@ -5644,24 +5645,24 @@ > public void testBug110336g() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test {\n" + >- " {\n" + >- " Test lv1 = null, lv2 = new Test(), lv3;\n" + >- " Test lv4 = new Test(), lv5, lv6 = null;\n" + >- " Test lv7, lv8 = null, lv9 = new Test();\n" + >- " }\n" + >+ "package b110336;\n" + >+ "public class Test {\n" + >+ " {\n" + >+ " Test lv1 = null, lv2 = new Test(), lv3;\n" + >+ " Test lv4 = new Test(), lv5, lv6 = null;\n" + >+ " Test lv7, lv8 = null, lv9 = new Test();\n" + >+ " }\n" + > "}\n" > ); > IType type = this.workingCopies[0].getType("Test"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java b110336.Test.{}.lv1 [Test]+[lv2,lv3]\n" + >- "src/b110336/Test.java b110336.Test.{}.lv2 [Test]\n" + >- "src/b110336/Test.java b110336.Test.{}.lv4 [Test]+[lv5,lv6]\n" + >- "src/b110336/Test.java b110336.Test.{}.lv4 [Test]\n" + >- "src/b110336/Test.java b110336.Test.{}.lv7 [Test]+[lv8,lv9]\n" + >+ "src/b110336/Test.java b110336.Test.{}.lv1 [Test]+[lv2,lv3]\n" + >+ "src/b110336/Test.java b110336.Test.{}.lv2 [Test]\n" + >+ "src/b110336/Test.java b110336.Test.{}.lv4 [Test]+[lv5,lv6]\n" + >+ "src/b110336/Test.java b110336.Test.{}.lv4 [Test]\n" + >+ "src/b110336/Test.java b110336.Test.{}.lv7 [Test]+[lv8,lv9]\n" + > "src/b110336/Test.java b110336.Test.{}.lv9 [Test]", > collector > ); >@@ -5669,24 +5670,24 @@ > public void testBug110336h() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", >- "package b110336;\n" + >- "public class Test {\n" + >- " static {\n" + >- " Test lv1 = null, lv2 = new Test(), lv3;\n" + >- " Test lv4 = new Test(), lv5, lv6 = null;\n" + >- " Test lv7, lv8 = null, lv9 = new Test();\n" + >- " }\n" + >+ "package b110336;\n" + >+ "public class Test {\n" + >+ " static {\n" + >+ " Test lv1 = null, lv2 = new Test(), lv3;\n" + >+ " Test lv4 = new Test(), lv5, lv6 = null;\n" + >+ " Test lv7, lv8 = null, lv9 = new Test();\n" + >+ " }\n" + > "}\n" > ); > IType type = this.workingCopies[0].getType("Test"); > TypeReferencesCollector collector = new TypeReferencesCollector(); > search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "src/b110336/Test.java b110336.Test.static {}.lv1 [Test]+[lv2,lv3]\n" + >- "src/b110336/Test.java b110336.Test.static {}.lv2 [Test]\n" + >- "src/b110336/Test.java b110336.Test.static {}.lv4 [Test]+[lv5,lv6]\n" + >- "src/b110336/Test.java b110336.Test.static {}.lv4 [Test]\n" + >- "src/b110336/Test.java b110336.Test.static {}.lv7 [Test]+[lv8,lv9]\n" + >+ "src/b110336/Test.java b110336.Test.static {}.lv1 [Test]+[lv2,lv3]\n" + >+ "src/b110336/Test.java b110336.Test.static {}.lv2 [Test]\n" + >+ "src/b110336/Test.java b110336.Test.static {}.lv4 [Test]+[lv5,lv6]\n" + >+ "src/b110336/Test.java b110336.Test.static {}.lv4 [Test]\n" + >+ "src/b110336/Test.java b110336.Test.static {}.lv7 [Test]+[lv8,lv9]\n" + > "src/b110336/Test.java b110336.Test.static {}.lv9 [Test]", > collector > ); >@@ -5728,18 +5729,18 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "java.lang.CharSequence\n" + >- "java.lang.Class\n" + >- "java.lang.CloneNotSupportedException\n" + >- "java.lang.Comparable\n" + >- "java.lang.Enum\n" + >- "java.lang.Error\n" + >- "java.lang.Exception\n" + >- "java.lang.IllegalMonitorStateException\n" + >- "java.lang.InterruptedException\n" + >- "java.lang.Object\n" + >- "java.lang.RuntimeException\n" + >- "java.lang.String\n" + >+ "java.lang.CharSequence\n" + >+ "java.lang.Class\n" + >+ "java.lang.CloneNotSupportedException\n" + >+ "java.lang.Comparable\n" + >+ "java.lang.Enum\n" + >+ "java.lang.Error\n" + >+ "java.lang.Exception\n" + >+ "java.lang.IllegalMonitorStateException\n" + >+ "java.lang.InterruptedException\n" + >+ "java.lang.Object\n" + >+ "java.lang.RuntimeException\n" + >+ "java.lang.String\n" + > "java.lang.Throwable", > requestor); > } >@@ -5751,15 +5752,15 @@ > public void testBug114539() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b114539/Foo.java", >- "package b114539;\n" + >- "public class Foo {\n" + >- " int bar=Bar.FOO;\n" + >+ "package b114539;\n" + >+ "public class Foo {\n" + >+ " int bar=Bar.FOO;\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b114539/Bar.java", >- "package b114539;\n" + >- "public class Bar {\n" + >- " private static final int FOO=0;\n" + >+ "package b114539;\n" + >+ "public class Bar {\n" + >+ " private static final int FOO=0;\n" + > "}\n" > ); > IField field = this.workingCopies[1].getType("Bar").getField("FOO"); >@@ -5776,19 +5777,19 @@ > public void testBug116459() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/p1/X.java", >- "package p1;\n" + >- "class X<T> {\n" + >- " X<T> gen;\n" + >- " X<String> param;\n" + >- " X raw;\n" + >+ "package p1;\n" + >+ "class X<T> {\n" + >+ " X<T> gen;\n" + >+ " X<String> param;\n" + >+ " X raw;\n" + > "}" > ); > IType type = workingCopies[0].getType("X"); > this.resultCollector.showRule = true; > search(type, REFERENCES, ERASURE_RULE); > assertSearchResults( >- "src/p1/X.java p1.X.gen [X] EXACT_MATCH\n" + >- "src/p1/X.java p1.X.param [X] ERASURE_MATCH\n" + >+ "src/p1/X.java p1.X.gen [X] EXACT_MATCH\n" + >+ "src/p1/X.java p1.X.param [X] ERASURE_MATCH\n" + > "src/p1/X.java p1.X.raw [X] ERASURE_RAW_MATCH" > ); > } >@@ -5800,11 +5801,11 @@ > public void testBug119545() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b119545/Test.java", >- "package b119545;\n" + >- "class Test {\n" + >- " void foo(Object o1, Object o2){\n" + >- " if (o1.equals(o2)) {}\n" + >- " }\n" + >+ "package b119545;\n" + >+ "class Test {\n" + >+ " void foo(Object o1, Object o2){\n" + >+ " if (o1.equals(o2)) {}\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("Test"); >@@ -5822,18 +5823,18 @@ > public void testBug120816a() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b120816/Test.java", >- "package b120816;\n" + >- "public class Test<E> {\n" + >- " String foo(E e) { return \"\"; }\n" + >+ "package b120816;\n" + >+ "public class Test<E> {\n" + >+ " String foo(E e) { return \"\"; }\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b120816/Sub.java", >- "package b120816;\n" + >+ "package b120816;\n" + > "public class Sub extends Test<Exception> {\n" + >- " String foo(RuntimeException e) { return \"\"; }\n" + >- " String foo(Exception e) {\n" + >- " return super.foo(e);\n" + >- " }\n" + >+ " String foo(RuntimeException e) { return \"\"; }\n" + >+ " String foo(Exception e) {\n" + >+ " return super.foo(e);\n" + >+ " }\n" + > "}\n" > ); > search("* String (Exception)", METHOD, DECLARATIONS); >@@ -5844,15 +5845,15 @@ > public void testBug120816b() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b120816/Test.java", >- "package b120816;\n" + >- "public class Test<E> {\n" + >- " String foo(E e) { return \"\"; }\n" + >+ "package b120816;\n" + >+ "public class Test<E> {\n" + >+ " String foo(E e) { return \"\"; }\n" + > "}\n" + > "class Sub extends Test<Exception> {\n" + >- " String foo(RuntimeException e) { return \"\"; }\n" + >- " String foo(Exception e) {\n" + >- " return super.foo(e);\n" + >- " }\n" + >+ " String foo(RuntimeException e) { return \"\"; }\n" + >+ " String foo(Exception e) {\n" + >+ " return super.foo(e);\n" + >+ " }\n" + > "}\n" > ); > search("* String (Exception)", METHOD, DECLARATIONS); >@@ -5868,15 +5869,15 @@ > private void setUpBug122442a() throws CoreException { > workingCopies = new ICompilationUnit[3]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b122442/I.java", >- "package b122442;\n" + >+ "package b122442;\n" + > "public interface I {}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b122442/II.java", >- "package b122442;\n" + >+ "package b122442;\n" + > "public interface II extends I {}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b122442/X.java", >- "package b122442;\n" + >+ "package b122442;\n" + > "public class X implements I {}\n" > ); > } >@@ -5884,7 +5885,7 @@ > setUpBug122442a(); > search("I", TYPE, IMPLEMENTORS); > assertSearchResults( >- "src/b122442/II.java b122442.II [I] EXACT_MATCH\n" + >+ "src/b122442/II.java b122442.II [I] EXACT_MATCH\n" + > "src/b122442/X.java b122442.X [I] EXACT_MATCH" > ); > } >@@ -5905,14 +5906,14 @@ > private void setUpBug122442d() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b122442/User.java", >- "class Klass {}\n" + >- "interface Interface {}\n" + >- "class User {\n" + >- " void m() {\n" + >- " new Klass() {};\n" + >- " new Interface() {};\n" + >- " }\n" + >- "}\n" + >+ "class Klass {}\n" + >+ "interface Interface {}\n" + >+ "class User {\n" + >+ " void m() {\n" + >+ " new Klass() {};\n" + >+ " new Interface() {};\n" + >+ " }\n" + >+ "}\n" + > "class Sub extends Klass {}" > ); > } >@@ -5941,7 +5942,7 @@ > setUpBug122442d(); > search("Klass", TYPE, IMPLEMENTORS); > assertSearchResults( >- "src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + >+ "src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + > "src/b122442/User.java b122442.Sub [Klass] EXACT_MATCH" > ); > } >@@ -5956,7 +5957,7 @@ > setUpBug122442d(); > search("Klass", CLASS, IMPLEMENTORS); > assertSearchResults( >- "src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + >+ "src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + > "src/b122442/User.java b122442.Sub [Klass] EXACT_MATCH" > ); > } >@@ -5969,11 +5970,11 @@ > IType type = getPackageFragment("JavaSearchBugs", "lib/b123679.jar", "pack").getClassFile("I123679.class").getType(); > search(type, REFERENCES); > assertSearchResults( >- "lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + >- "lib/b123679.jar test.Test$StaticClass$Member.parent EXACT_MATCH\n" + >- "lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + >- "lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + >- "lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + >+ "lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + >+ "lib/b123679.jar test.Test$StaticClass$Member.parent EXACT_MATCH\n" + >+ "lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + >+ "lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + >+ "lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + > "lib/b123679.jar pack.I123679 test.Test$StaticClass$Member.getParent() EXACT_MATCH" > ); > } >@@ -5982,40 +5983,40 @@ > IType type = unit.getType("I123679"); > search(type, REFERENCES); > assertSearchResults( >- "src/b123679/test/Test.java [b123679.pack.I123679] EXACT_MATCH\n" + >- "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + >- "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + >- "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + >- "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + >+ "src/b123679/test/Test.java [b123679.pack.I123679] EXACT_MATCH\n" + >+ "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + >+ "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + >+ "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + >+ "src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + > "src/b123679/test/Test.java I123679 b123679.test.Test$StaticClass$Member.getParent() [I123679] EXACT_MATCH" > ); > } > public void testBug123679_wc() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/pack/I122679.java", >- "package pack;\n" + >- "public interface I123679 {\n" + >+ "package pack;\n" + >+ "public interface I123679 {\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test/Test.java", >- "package test;\n" + >- "import pack.I123679;\n" + >- "public class Test {\n" + >- " static class StaticClass {\n" + >- " class Member {\n" + >- " private I123679 parent;\n" + >- " Member(Object obj) {\n" + >- " if (obj instanceof I123679) {\n" + >- " parent = (I123679) obj;\n" + >- " } else {\n" + >- " parent = new I123679() {};\n" + >- " }\n" + >- " }\n" + >- " I123679 getParent() {\n" + >- " return parent;\n" + >- " }\n" + >- " }\n" + >- " }\n" + >+ "package test;\n" + >+ "import pack.I123679;\n" + >+ "public class Test {\n" + >+ " static class StaticClass {\n" + >+ " class Member {\n" + >+ " private I123679 parent;\n" + >+ " Member(Object obj) {\n" + >+ " if (obj instanceof I123679) {\n" + >+ " parent = (I123679) obj;\n" + >+ " } else {\n" + >+ " parent = new I123679() {};\n" + >+ " }\n" + >+ " }\n" + >+ " I123679 getParent() {\n" + >+ " return parent;\n" + >+ " }\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > IType type = workingCopies[0].getType("I123679"); >@@ -6023,10 +6024,10 @@ > assertSearchResults( > // import reference is not found because package fragment and CU do not exist on disk > // So, PackageReferenceLocator.isDeclaringPackageFragment(...) returns false and S.E. misses this match >- "src/test/Test.java test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + >- "src/test/Test.java test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + >- "src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + >- "src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + >+ "src/test/Test.java test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + >+ "src/test/Test.java test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + >+ "src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + >+ "src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + > "src/test/Test.java I123679 test.Test$StaticClass$Member.getParent() [I123679] EXACT_MATCH" > ); > } >@@ -6039,48 +6040,48 @@ > IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "E.class").getType(); > search(type, REFERENCES); > assertSearchResults( >- "lib/b124469.jar pack.E pack.A1.value() EXACT_MATCH\n" + >- "lib/b124469.jar pack.E[] pack.A1.list() EXACT_MATCH\n" + >- "lib/b124469.jar pack.E pack.A2.value() EXACT_MATCH\n" + >- "lib/b124469.jar pack.E[] pack.A2.list() EXACT_MATCH\n" + >- "lib/b124469.jar pack.E pack.A3.value() EXACT_MATCH\n" + >- "lib/b124469.jar pack.E[] pack.A3.list() EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar pack.E pack.A1.value() EXACT_MATCH\n" + >+ "lib/b124469.jar pack.E[] pack.A1.list() EXACT_MATCH\n" + >+ "lib/b124469.jar pack.E pack.A2.value() EXACT_MATCH\n" + >+ "lib/b124469.jar pack.E[] pack.A2.list() EXACT_MATCH\n" + >+ "lib/b124469.jar pack.E pack.A3.value() EXACT_MATCH\n" + >+ "lib/b124469.jar pack.E[] pack.A3.list() EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + > "lib/b124469.jar void test.M.foo() EXACT_MATCH" > ); > } >@@ -6088,10 +6089,10 @@ > IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A1.class").getType(); > search(type, REFERENCES); > assertSearchResults( >- "lib/b124469.jar pack.A1 pack.A2.annot() EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar pack.A1 pack.A2.annot() EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + > "lib/b124469.jar void test.M.foo() EXACT_MATCH" > ); > } >@@ -6099,10 +6100,10 @@ > IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A2.class").getType(); > search(type, REFERENCES); > assertSearchResults( >- "lib/b124469.jar pack.A2 pack.A3.annot() EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar pack.A2 pack.A3.annot() EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + > "lib/b124469.jar void test.M.foo() EXACT_MATCH" > ); > } >@@ -6110,9 +6111,9 @@ > IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A3.class").getType(); > search(type, REFERENCES); > assertSearchResults( >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + > "lib/b124469.jar void test.M.foo() EXACT_MATCH" > ); > } >@@ -6121,8 +6122,8 @@ > IField field = type.getField("CC"); > search(field, REFERENCES); > assertSearchResults( >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + > "lib/b124469.jar test.C EXACT_MATCH" > ); > } >@@ -6131,8 +6132,8 @@ > IField field = type.getField("CF"); > search(field, REFERENCES); > assertSearchResults( >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + > "lib/b124469.jar test.F.field EXACT_MATCH" > ); > } >@@ -6141,8 +6142,8 @@ > IField field = type.getField("CM"); > search(field, REFERENCES); > assertSearchResults( >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + > "lib/b124469.jar void test.M.foo() EXACT_MATCH" > ); > } >@@ -6167,11 +6168,11 @@ > IField field = type.getField("CAC"); > search(field, REFERENCES); > assertSearchResults( >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >- "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + >+ "lib/b124469.jar test.C EXACT_MATCH\n" + > "lib/b124469.jar test.C EXACT_MATCH" > ); > } >@@ -6180,11 +6181,11 @@ > IField field = type.getField("CAF"); > search(field, REFERENCES); > assertSearchResults( >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >- "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + >+ "lib/b124469.jar test.F.field EXACT_MATCH\n" + > "lib/b124469.jar test.F.field EXACT_MATCH" > ); > } >@@ -6193,11 +6194,11 @@ > IField field = type.getField("CAM"); > search(field, REFERENCES); > assertSearchResults( >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >- "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + >+ "lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + > "lib/b124469.jar void test.M.foo() EXACT_MATCH" > ); > } >@@ -6228,9 +6229,9 @@ > "public class Foo<T> {}" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/Bar.java", >- "public class Bar {\n" + >- " Foo<String> f = new Foo<String>();\n" + >- " Foo f2 = new Foo();\n" + >+ "public class Bar {\n" + >+ " Foo<String> f = new Foo<String>();\n" + >+ " Foo f2 = new Foo();\n" + > "}" > ); > IType type = workingCopies[0].getType("Foo"); >@@ -6243,9 +6244,9 @@ > null > ); > assertSearchResults( >- "src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + >- "src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + >- "src/Bar.java Bar.f2 [Foo] ERASURE_RAW_MATCH\n" + >+ "src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + >+ "src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + >+ "src/Bar.java Bar.f2 [Foo] ERASURE_RAW_MATCH\n" + > "src/Bar.java Bar.f2 [Foo] ERASURE_RAW_MATCH" > ); > } >@@ -6259,9 +6260,9 @@ > IType type = classFile.getType(); > search(type, IMPLEMENTORS); > assertSearchResults( >- "src/b124645/xy/X_124645.java b124645.xy.X_124645$Y [BE_124645] EXACT_MATCH\n" + >- "src/b124645/xy/Y_124645.java b124645.xy.Y_124645 [BE_124645] EXACT_MATCH\n" + >- "lib/b124645.jar xy.BX_124645$Y EXACT_MATCH\n" + >+ "src/b124645/xy/X_124645.java b124645.xy.X_124645$Y [BE_124645] EXACT_MATCH\n" + >+ "src/b124645/xy/Y_124645.java b124645.xy.Y_124645 [BE_124645] EXACT_MATCH\n" + >+ "lib/b124645.jar xy.BX_124645$Y EXACT_MATCH\n" + > "lib/b124645.jar xy.BY_124645 EXACT_MATCH" > ); > } >@@ -6270,13 +6271,13 @@ > IType type = classFile.getType(); > search(type, IMPLEMENTORS); > assertSearchResults( >- "src/b124645/test/A_124645.java b124645.test.A_124645 [BE_124645] EXACT_MATCH\n" + >- "src/b124645/test/A_124645.java void b124645.test.A_124645.m():<anonymous>#1 [BE_124645] EXACT_MATCH\n" + >- "src/b124645/test/X_124645.java b124645.test.X_124645 [BE_124645] EXACT_MATCH\n" + >- "src/b124645/test/X_124645.java void b124645.test.X_124645.m():Y_124645#1 [BE_124645] EXACT_MATCH\n" + >- "lib/b124645.jar test.BA_124645 EXACT_MATCH\n" + >- "lib/b124645.jar test.<anonymous> EXACT_MATCH\n" + >- "lib/b124645.jar test.BX_124645 EXACT_MATCH\n" + >+ "src/b124645/test/A_124645.java b124645.test.A_124645 [BE_124645] EXACT_MATCH\n" + >+ "src/b124645/test/A_124645.java void b124645.test.A_124645.m():<anonymous>#1 [BE_124645] EXACT_MATCH\n" + >+ "src/b124645/test/X_124645.java b124645.test.X_124645 [BE_124645] EXACT_MATCH\n" + >+ "src/b124645/test/X_124645.java void b124645.test.X_124645.m():Y_124645#1 [BE_124645] EXACT_MATCH\n" + >+ "lib/b124645.jar test.BA_124645 EXACT_MATCH\n" + >+ "lib/b124645.jar test.<anonymous> EXACT_MATCH\n" + >+ "lib/b124645.jar test.BX_124645 EXACT_MATCH\n" + > "lib/b124645.jar test.Y EXACT_MATCH" > ); > } >@@ -6306,12 +6307,12 @@ > ProblemRequestor problemRequestor = new ProblemRequestor(); > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b125178/X.java", >- "package b125178;\n" + >- "import pack.age.Test;\n" + >- "public class X {\n" + >- " public static void main(String[] args) {\n" + >- " new Test().foo(100);\n" + >- " }\n" + >+ "package b125178;\n" + >+ "import pack.age.Test;\n" + >+ "public class X {\n" + >+ " public static void main(String[] args) {\n" + >+ " new Test().foo(100);\n" + >+ " }\n" + > "}\n", > newWorkingCopyOwner(problemRequestor) > ); >@@ -6320,7 +6321,7 @@ > "----------\n", > problemRequestor.problems.toString() > ); >- >+ > // Get anonymous from > IPackageFragment jar = getPackageFragment("JavaSearchBugs", "lib/b125178.jar", "pack.age"); > IJavaElement[] children = jar.getChildren(); >@@ -6357,9 +6358,9 @@ > class DeprecatedTypesRequestor extends SearchTests.SearchTypeNameRequestor { > public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) { > if ((modifiers & ClassFileConstants.AccDeprecated) != 0) { >- char[] typeName = >+ char[] typeName = > CharOperation.concat( >- CharOperation.concatWith(enclosingTypeNames, '$'), >+ CharOperation.concatWith(enclosingTypeNames, '$'), > simpleTypeName, > '$'); > results.addElement(new String(CharOperation.concat(packageName, typeName, '.'))); >@@ -6423,22 +6424,22 @@ > private void setUpBug130390() throws CoreException { > workingCopies = new ICompilationUnit[4]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b130390/TZ.java", >- "package b130390;\n" + >+ "package b130390;\n" + > "public class TZ {\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b130390/TimeZone.java", >- "package b130390;\n" + >+ "package b130390;\n" + > "public class TimeZone{\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b130390/Npe.java", >- "package b130390;\n" + >+ "package b130390;\n" + > "public class Npe {\n" + > "}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b130390/NullPointerException.java", >- "package b130390;\n" + >+ "package b130390;\n" + > "public class NullPointerException {\n" + > "}\n" > ); >@@ -6454,7 +6455,7 @@ > setUpBug130390(); > search("NPE", TYPE, DECLARATIONS, SearchPattern.R_CAMELCASE_MATCH); > assertSearchResults( >- "src/b130390/Npe.java b130390.Npe [Npe] EXACT_MATCH\n" + >+ "src/b130390/Npe.java b130390.Npe [Npe] EXACT_MATCH\n" + > "src/b130390/NullPointerException.java b130390.NullPointerException [NullPointerException] EXACT_MATCH" > ); > } >@@ -6490,7 +6491,7 @@ > setUpBug130390(); > search("TZ", TYPE, DECLARATIONS, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_CASE_SENSITIVE); > assertSearchResults( >- "src/b130390/TZ.java b130390.TZ [TZ] EXACT_MATCH\n" + >+ "src/b130390/TZ.java b130390.TZ [TZ] EXACT_MATCH\n" + > "src/b130390/TimeZone.java b130390.TimeZone [TimeZone] EXACT_MATCH" > ); > } >@@ -6774,19 +6775,19 @@ > public void testBug137984_wc() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/CW.java", >- "public class CW {\n" + >- " CW2 c2;\n" + >- " CW2.CW3 c3;\n" + >- " CW(int c) {\n" + >- " c2 = new CW2(c);\n" + >- " c3 = c2.new CW3(c);\n" + >- " }\n" + >- " class CW2 {\n" + >- " CW2(int x) {}\n" + >- " class CW3 {\n" + >- " CW3(int x) {}\n" + >- " }\n" + >- " }\n" + >+ "public class CW {\n" + >+ " CW2 c2;\n" + >+ " CW2.CW3 c3;\n" + >+ " CW(int c) {\n" + >+ " c2 = new CW2(c);\n" + >+ " c3 = c2.new CW3(c);\n" + >+ " }\n" + >+ " class CW2 {\n" + >+ " CW2(int x) {}\n" + >+ " class CW3 {\n" + >+ " CW3(int x) {}\n" + >+ " }\n" + >+ " }\n" + > "}\n" > ); > IField field = workingCopies[0].getType("CW").getField("c3"); >@@ -6811,24 +6812,92 @@ > } > > /** >+ * @bug 142044: [search] "And" Pattern fails with NullPointerException >+ * @test Verify that no NPE occurs while using a {@link AndPattern} >+ * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=142044" >+ */ >+/* Bug test case: >+ Following test does not produce any result due to the fact that each type reference >+ on type only match one of the pattern => it always fails while making a AND on both matches... >+ However, consider the bug fixed as we do not get the NPE... >+*/ >+public void testBug142044() throws CoreException { >+ IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); >+ SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); >+ IType type2 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_B.java").getType("I142044_B"); >+ SearchPattern rightPattern = SearchPattern.createPattern(type2, IMPLEMENTORS); >+ search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); >+ assertSearchResults(""); >+} >+public void testBug142044_Identical() throws CoreException { >+ IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); >+ SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); >+ IType type2 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); >+ SearchPattern rightPattern = SearchPattern.createPattern(type2, IMPLEMENTORS); >+ search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); >+ assertSearchResults( >+ "src/b142044/X142044.java b142044.X142044$XX1 [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044.java b142044.X142044$XX12 [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044_A.java b142044.X142044_A [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044_AB.java b142044.X142044_AB [I142044_A] EXACT_MATCH" >+ ); >+} >+public void testBug142044_And01() throws CoreException { >+ SearchPattern leftPattern = createPattern("X*", CLASS, DECLARATIONS, true); >+ IType iType = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); >+ SearchPattern rightPattern = SearchPattern.createPattern(iType, IMPLEMENTORS); >+ search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); >+ assertSearchResults(""); // currently no results as only same kind of pattern are ANDoable... >+} >+public void testBug142044_And02() throws CoreException { >+ IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); >+ SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); >+ SearchPattern rightPattern = createPattern("I*", CLASS, IMPLEMENTORS, true); >+ search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); >+ assertSearchResults( >+ "src/b142044/X142044.java b142044.X142044$XX1 [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044.java b142044.X142044$XX12 [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044_A.java b142044.X142044_A [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044_AB.java b142044.X142044_AB [I142044_A] EXACT_MATCH" >+ ); >+} >+public void testBug142044_Or() throws CoreException { >+ IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); >+ SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); >+ IType type2 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_B.java").getType("I142044_B"); >+ SearchPattern rightPattern = SearchPattern.createPattern(type2, IMPLEMENTORS); >+ search(SearchPattern.createOrPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); >+ assertSearchResults( >+ "src/b142044/X142044.java b142044.X142044$XX1 [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044.java b142044.X142044$XX2 [I142044_B] EXACT_MATCH\n" + >+ "src/b142044/X142044.java b142044.X142044$XX12 [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044.java b142044.X142044$XX12 [I142044_B] EXACT_MATCH\n" + >+ "src/b142044/X142044_A.java b142044.X142044_A [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044_AB.java b142044.X142044_AB [I142044_A] EXACT_MATCH\n" + >+ "src/b142044/X142044_AB.java b142044.X142044_AB [I142044_B] EXACT_MATCH\n" + >+ "src/b142044/X142044_B.java b142044.X142044_B [I142044_B] EXACT_MATCH" >+ ); >+} >+ >+/** > * Bug 144044: [search] NPE when trying to find references to field variable > * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=144044" > */ > public void testBug144044() throws CoreException { > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test1/p/Test.java", >- "package test1.p;\n" + >- "import test1.q.X;\n" + >- "public class Test {\n" + >- " String foo(X val) {\n" + >- " return val.str;\n" + >- " }\n" + >+ "package test1.p;\n" + >+ "import test1.q.X;\n" + >+ "public class Test {\n" + >+ " String foo(X val) {\n" + >+ " return val.str;\n" + >+ " }\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test1/q/X.java", >- "package test1.q;\n" + >- "public class X {\n" + >- " String str;\n" + >+ "package test1.q;\n" + >+ "public class X {\n" + >+ " String str;\n" + > "}\n" > ); > IType type = this.workingCopies[1].getType("X"); >@@ -6841,37 +6910,37 @@ > public void testBug144044b() throws CoreException { > workingCopies = new ICompilationUnit[4]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test2/p/Test.java", >- "package test2.p;\n" + >- "import test2.q.X;\n" + >- "public class Test {\n" + >- " X foo() {\n" + >- " return X.y_field.z_field.x_field.y_field.z_field.x_field;\n" + >- " }\n" + >+ "package test2.p;\n" + >+ "import test2.q.X;\n" + >+ "public class Test {\n" + >+ " X foo() {\n" + >+ " return X.y_field.z_field.x_field.y_field.z_field.x_field;\n" + >+ " }\n" + > "}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test2/q/X.java", >- "package test2.q;\n" + >- "public class X {\n" + >- " public static Y y_field;\n" + >+ "package test2.q;\n" + >+ "public class X {\n" + >+ " public static Y y_field;\n" + > "}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/test2/q/Y.java", >- "package test2.q;\n" + >- "public class Y {\n" + >- " public static Z z_field;\n" + >+ "package test2.q;\n" + >+ "public class Y {\n" + >+ " public static Z z_field;\n" + > "}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/test2/q/Z.java", >- "package test2.q;\n" + >- "public class Z {\n" + >- " static X x_field;\n" + >+ "package test2.q;\n" + >+ "public class Z {\n" + >+ " static X x_field;\n" + > "}\n" > ); > IType type = this.workingCopies[3].getType("Z"); > IField field = type.getField("x_field"); > search(field, REFERENCES); > assertSearchResults( >- "src/test2/p/Test.java X test2.p.Test.foo() [x_field] POTENTIAL_MATCH\n" + >+ "src/test2/p/Test.java X test2.p.Test.foo() [x_field] POTENTIAL_MATCH\n" + > "src/test2/p/Test.java X test2.p.Test.foo() [x_field] POTENTIAL_MATCH" > ); > } >@@ -6887,8 +6956,8 @@ > IMethod method = type.getMethods()[1]; > searchDeclarationsOfReferencedTypes(method, this.resultCollector); > assertSearchResults( >- ""+ getExternalJCLPathString("1.5") + " java.lang.Object EXACT_MATCH\n" + >- ""+ getExternalJCLPathString("1.5") + " java.lang.String EXACT_MATCH\n" + >+ ""+ getExternalJCLPathString("1.5") + " java.lang.Object EXACT_MATCH\n" + >+ ""+ getExternalJCLPathString("1.5") + " java.lang.String EXACT_MATCH\n" + > "lib/b148215.jar test.def.Reference EXACT_MATCH" > ); > } >@@ -6903,7 +6972,7 @@ > IMethod method = type.getMethods()[1]; > searchDeclarationsOfSentMessages(method, this.resultCollector); > assertSearchResults( >- "lib/b148215.jar void test.pack.Test.bar(java.lang.String) EXACT_MATCH\n" + >+ "lib/b148215.jar void test.pack.Test.bar(java.lang.String) EXACT_MATCH\n" + > "lib/b148215.jar void test.pack.Test.bar(test.def.Reference) EXACT_MATCH" > ); > } >@@ -6918,7 +6987,7 @@ > IMethod method = type.getMethods()[1]; > searchDeclarationsOfAccessedFields(method, this.resultCollector); > assertSearchResults( >- "lib/b148215.jar test.pack.Test.sField EXACT_MATCH\n" + >+ "lib/b148215.jar test.pack.Test.sField EXACT_MATCH\n" + > "lib/b148215.jar test.pack.Test.rField EXACT_MATCH" > ); > } >@@ -6937,19 +7006,19 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[4]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b148380/I.java", >- "package b148380;\n" + >+ "package b148380;\n" + > "public interface I {}\n" > ); > workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b148380/X.java", >- "package b148380;\n" + >+ "package b148380;\n" + > "public class X {}\n" > ); > workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b148380/Sub.java", >- "package b148380;\n" + >+ "package b148380;\n" + > "public class Sub extends X {}\n" > ); > workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b148380/Y.java", >- "package b148380;\n" + >+ "package b148380;\n" + > "public class Y {}\n" > ); > IJavaSearchScope scope = getJavaSearchScopeBugs(); >@@ -6964,9 +7033,9 @@ > requestor1, > IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, > null); >- String expected = "class Sub [in [Working copy] Sub.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + >- "class X [in [Working copy] X.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + >- "class Y [in [Working copy] Y.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + >+ String expected = "class Sub [in [Working copy] Sub.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + >+ "class X [in [Working copy] X.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + >+ "class Y [in [Working copy] Y.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + > "interface I [in [Working copy] I.java [in b148380 [in src [in JavaSearchBugs]]]]"; > assertSearchResults(expected, requestor1); > // Expected same result with the wc owner >@@ -7041,15 +7110,15 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "java.lang.Class\n" + >- "java.lang.CloneNotSupportedException\n" + >- "java.lang.Error\n" + >- "java.lang.Exception\n" + >- "java.lang.IllegalMonitorStateException\n" + >- "java.lang.InterruptedException\n" + >- "java.lang.Object\n" + >- "java.lang.RuntimeException\n" + >- "java.lang.String\n" + >+ "java.lang.Class\n" + >+ "java.lang.CloneNotSupportedException\n" + >+ "java.lang.Error\n" + >+ "java.lang.Exception\n" + >+ "java.lang.IllegalMonitorStateException\n" + >+ "java.lang.InterruptedException\n" + >+ "java.lang.Object\n" + >+ "java.lang.RuntimeException\n" + >+ "java.lang.String\n" + > "java.lang.Throwable", > requestor); > } >@@ -7062,10 +7131,10 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b156177/Test.java", >- "package b156177;\n" + >- "interface B156177_I {}\n" + >- "enum B156177_E {}\n" + >- "@interface B156177_A {}\n" + >+ "package b156177;\n" + >+ "interface B156177_I {}\n" + >+ "enum B156177_E {}\n" + >+ "@interface B156177_A {}\n" + > "public class B156177 {}\n" > ); > TypeNameRequestor requestor = new SearchTests.SearchTypeNameRequestor(); >@@ -7082,7 +7151,7 @@ > ); > assertSearchResults( > "Unexpected all type names", >- "b156177.B156177_A\n" + >+ "b156177.B156177_A\n" + > "b156177.B156177_I", > requestor); > } >@@ -7095,70 +7164,70 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/pack/Test.java", >- "package pack;\n" + >- "public class Test {\n" + >- " void noMatch(Y y) {\n" + >- " y.toString();\n" + >- " toString();\n" + >- " }\n" + >- " void validMatches(X x) {\n" + >- " x.toString();\n" + >- " }\n" + >- " void superInvocationMatches(Object o) {\n" + >- " o.toString();\n" + >- " }\n" + >- " void interfaceMatches(I i) {\n" + >- " i.toString();\n" + >- " }\n" + >- " void subtypeMatches(Sub s) {\n" + >- " s.toString();\n" + >- " }\n" + >+ "package pack;\n" + >+ "public class Test {\n" + >+ " void noMatch(Y y) {\n" + >+ " y.toString();\n" + >+ " toString();\n" + >+ " }\n" + >+ " void validMatches(X x) {\n" + >+ " x.toString();\n" + >+ " }\n" + >+ " void superInvocationMatches(Object o) {\n" + >+ " o.toString();\n" + >+ " }\n" + >+ " void interfaceMatches(I i) {\n" + >+ " i.toString();\n" + >+ " }\n" + >+ " void subtypeMatches(Sub s) {\n" + >+ " s.toString();\n" + >+ " }\n" + > "}\n" + > "interface I {}\n" + >- "class X {\n" + >- " public String toString() {\n" + >- " return \"X\";\n" + >- " }\n" + >+ "class X {\n" + >+ " public String toString() {\n" + >+ " return \"X\";\n" + >+ " }\n" + > "}\n" + > "class Sub extends X {}\n" + >- "class Y {\n" + >- " public String toString() {\n" + >- " return \"Y\";\n" + >- " }\n" + >+ "class Y {\n" + >+ " public String toString() {\n" + >+ " return \"Y\";\n" + >+ " }\n" + > "}\n" > ); > IMethod method = workingCopies[0].getType("X").getMethod("toString", new String[0]); > this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; > search(method, REFERENCES); > assertSearchResults( >- "src/pack/Test.java void pack.Test.validMatches(X) [toString()] EXACT_MATCH\n" + >- "src/pack/Test.java void pack.Test.superInvocationMatches(Object) [toString()] EXACT_MATCH SUPER INVOCATION\n" + >+ "src/pack/Test.java void pack.Test.validMatches(X) [toString()] EXACT_MATCH\n" + >+ "src/pack/Test.java void pack.Test.superInvocationMatches(Object) [toString()] EXACT_MATCH SUPER INVOCATION\n" + > "src/pack/Test.java void pack.Test.subtypeMatches(Sub) [toString()] EXACT_MATCH" > ); > } > private void setUpBug156491() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/other/Test.java", >- "package other;\n" + >- "public class Test {\n" + >- " void testInterface(I i) {\n" + >- " i.test();\n" + >- " }\n" + >- " void testSuperInvocation(L1 l) {\n" + >- " l.test();\n" + >- " }\n" + >- " void testInvocation(L2 l) {\n" + >- " l.test();\n" + >- " }\n" + >- "}\n" + >- "class L1 implements I {\n" + >- " public void test() {}\n" + >- "}\n" + >- "interface I {\n" + >- " void test();\n" + >- "}\n" + >- "class L2 extends L1 {\n" + >- " public void test() {}\n" + >+ "package other;\n" + >+ "public class Test {\n" + >+ " void testInterface(I i) {\n" + >+ " i.test();\n" + >+ " }\n" + >+ " void testSuperInvocation(L1 l) {\n" + >+ " l.test();\n" + >+ " }\n" + >+ " void testInvocation(L2 l) {\n" + >+ " l.test();\n" + >+ " }\n" + >+ "}\n" + >+ "class L1 implements I {\n" + >+ " public void test() {}\n" + >+ "}\n" + >+ "interface I {\n" + >+ " void test();\n" + >+ "}\n" + >+ "class L2 extends L1 {\n" + >+ " public void test() {}\n" + > "}" > ); > } >@@ -7169,8 +7238,8 @@ > this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; > search(method, REFERENCES); > assertSearchResults( >- "src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + >- "src/other/Test.java void other.Test.testSuperInvocation(L1) [test()] EXACT_MATCH SUPER INVOCATION\n" + >+ "src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + >+ "src/other/Test.java void other.Test.testSuperInvocation(L1) [test()] EXACT_MATCH SUPER INVOCATION\n" + > "src/other/Test.java void other.Test.testInvocation(L2) [test()] EXACT_MATCH" > ); > } >@@ -7181,7 +7250,7 @@ > this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; > search(method, REFERENCES); > assertSearchResults( >- "src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + >+ "src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + > "src/other/Test.java void other.Test.testSuperInvocation(L1) [test()] EXACT_MATCH" > // since bug 160301 fix, subclass overridden method calls are not reported > //"src/other/Test.java void other.Test.testInvocation(L2) [test()] EXACT_MATCH" >@@ -7196,24 +7265,24 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", >- "public class Test {\n" + >- " class A {\n" + >- " void foo() {}\n" + >- " void bar() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >- " class B extends A {\n" + >- " void foo() {}\n" + >- " void bar() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >- " class C extends B {\n" + >- " void method() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >+ "public class Test {\n" + >+ " class A {\n" + >+ " void foo() {}\n" + >+ " void bar() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + >+ " class B extends A {\n" + >+ " void foo() {}\n" + >+ " void bar() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + >+ " class C extends B {\n" + >+ " void method() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + > "}" > ); > IMethod method = workingCopies[0].getType("Test").getType("A").getMethod("foo", new String[0]); >@@ -7226,35 +7295,35 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test/Test.java", >- "package test;\n" + >- "public class Test {\n" + >- " class A {\n" + >- " void foo() {}\n" + >- " }\n" + >- " class B extends A {}\n" + >- " class C extends B {\n" + >- " void foo() {}\n" + >- " }\n" + >- " class D extends C {}\n" + >- " void a() {\n" + >- " new A().foo();\n" + >- " }\n" + >- " void b() {\n" + >- " new B().foo();\n" + >- " }\n" + >- " void c() {\n" + >- " new C().foo();\n" + >- " }\n" + >- " void d() {\n" + >- " new D().foo();\n" + >- " }\n" + >- " \n" + >+ "package test;\n" + >+ "public class Test {\n" + >+ " class A {\n" + >+ " void foo() {}\n" + >+ " }\n" + >+ " class B extends A {}\n" + >+ " class C extends B {\n" + >+ " void foo() {}\n" + >+ " }\n" + >+ " class D extends C {}\n" + >+ " void a() {\n" + >+ " new A().foo();\n" + >+ " }\n" + >+ " void b() {\n" + >+ " new B().foo();\n" + >+ " }\n" + >+ " void c() {\n" + >+ " new C().foo();\n" + >+ " }\n" + >+ " void d() {\n" + >+ " new D().foo();\n" + >+ " }\n" + >+ " \n" + > "}" > ); > IMethod method = workingCopies[0].getType("Test").getType("A").getMethod("foo", new String[0]); > search(method, REFERENCES); > assertSearchResults( >- "src/test/Test.java void test.Test.a() [foo()] EXACT_MATCH\n" + >+ "src/test/Test.java void test.Test.a() [foo()] EXACT_MATCH\n" + > "src/test/Test.java void test.Test.b() [foo()] EXACT_MATCH" > ); > } >@@ -7262,53 +7331,53 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", >- "public class Test {\n" + >- " interface I {\n" + >- " void foo();\n" + >- " }\n" + >- " class A1 implements I {\n" + >- " public void foo() {}\n" + >- " void a1() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >- " class B1 extends A1 {\n" + >- " void b1() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >- " class C1 extends B1 {\n" + >- " public void foo() {}\n" + >- " void c1() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >- " abstract class A2 implements I {\n" + >- " void a2() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >- " class B2 extends A2 {\n" + >- " public void foo() {}\n" + >- " void b2() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >- " class A3 implements I {\n" + >- " public void foo() {}\n" + >- " void a3() {\n" + >- " foo();\n" + >- " }\n" + >- " }\n" + >+ "public class Test {\n" + >+ " interface I {\n" + >+ " void foo();\n" + >+ " }\n" + >+ " class A1 implements I {\n" + >+ " public void foo() {}\n" + >+ " void a1() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + >+ " class B1 extends A1 {\n" + >+ " void b1() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + >+ " class C1 extends B1 {\n" + >+ " public void foo() {}\n" + >+ " void c1() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + >+ " abstract class A2 implements I {\n" + >+ " void a2() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + >+ " class B2 extends A2 {\n" + >+ " public void foo() {}\n" + >+ " void b2() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + >+ " class A3 implements I {\n" + >+ " public void foo() {}\n" + >+ " void a3() {\n" + >+ " foo();\n" + >+ " }\n" + >+ " }\n" + > "}" > ); > IMethod method = workingCopies[0].getType("Test").getType("I").getMethod("foo", new String[0]); > search(method, REFERENCES); > assertSearchResults( >- "src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + >- "src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + >- "src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + >- "src/Test.java void Test$B2.b2() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$B2.b2() [foo()] EXACT_MATCH\n" + > "src/Test.java void Test$A3.a3() [foo()] EXACT_MATCH" > ); > } >@@ -7316,46 +7385,46 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", >- "public class Test {\n" + >- " abstract class Abstract {\n" + >- " abstract void foo();\n" + >- " }\n" + >- " class A1 extends Abstract {\n" + >- " public void foo() {}\n" + >- " void a1() {\n" + >- " foo(); // valid match as A1.foo() is the first override in sub-class\n" + >- " }\n" + >- " }\n" + >- " class B1 extends A1 {\n" + >- " void b1() {\n" + >- " foo(); // valid match as B1 does not override A.foo()\n" + >- " }\n" + >- " }\n" + >- " class C1 extends B1 {\n" + >- " public void foo() {}\n" + >- " void c1() {\n" + >- " foo(); // invalid match as C1 does override A.foo()\n" + >- " }\n" + >- " }\n" + >- " abstract class A2 extends Abstract {\n" + >- " void a2() {\n" + >- " foo(); // valid match as A2 does not override Abstract.foo()\n" + >- " }\n" + >- " }\n" + >- " class B2 extends A2 {\n" + >- " public void foo() {}\n" + >- " void b2() {\n" + >- " foo(); // valid match as B2.foo() is the first override in sub-class\n" + >- " }\n" + >- " }\n" + >+ "public class Test {\n" + >+ " abstract class Abstract {\n" + >+ " abstract void foo();\n" + >+ " }\n" + >+ " class A1 extends Abstract {\n" + >+ " public void foo() {}\n" + >+ " void a1() {\n" + >+ " foo(); // valid match as A1.foo() is the first override in sub-class\n" + >+ " }\n" + >+ " }\n" + >+ " class B1 extends A1 {\n" + >+ " void b1() {\n" + >+ " foo(); // valid match as B1 does not override A.foo()\n" + >+ " }\n" + >+ " }\n" + >+ " class C1 extends B1 {\n" + >+ " public void foo() {}\n" + >+ " void c1() {\n" + >+ " foo(); // invalid match as C1 does override A.foo()\n" + >+ " }\n" + >+ " }\n" + >+ " abstract class A2 extends Abstract {\n" + >+ " void a2() {\n" + >+ " foo(); // valid match as A2 does not override Abstract.foo()\n" + >+ " }\n" + >+ " }\n" + >+ " class B2 extends A2 {\n" + >+ " public void foo() {}\n" + >+ " void b2() {\n" + >+ " foo(); // valid match as B2.foo() is the first override in sub-class\n" + >+ " }\n" + >+ " }\n" + > "}" > ); > IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); > search(method, REFERENCES); > assertSearchResults( >- "src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + >- "src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + >- "src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + > "src/Test.java void Test$B2.b2() [foo()] EXACT_MATCH" > ); > } >@@ -7363,34 +7432,34 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", >- "public class Test {\n" + >- " abstract class Abstract {\n" + >- " public abstract void foo();\n" + >- " }\n" + >- " abstract class A extends Abstract {\n" + >- " public abstract void foo();\n" + >- " void a() {\n" + >- " foo(); // valid match as A is abstract => does not override Abstract.foo()\n" + >- " }\n" + >- " }\n" + >- " class B extends A {\n" + >- " public void foo() {}\n" + >- " void b() {\n" + >- " foo(); // valid match as B.foo() is the first override in sub-class\n" + >- " }\n" + >- " }\n" + >- " class C extends B {\n" + >- " public void foo() {}\n" + >- " void c() {\n" + >- " foo(); // invalid match as C.foo() overrides Abstract.foo() \n" + >- " }\n" + >- " }\n" + >+ "public class Test {\n" + >+ " abstract class Abstract {\n" + >+ " public abstract void foo();\n" + >+ " }\n" + >+ " abstract class A extends Abstract {\n" + >+ " public abstract void foo();\n" + >+ " void a() {\n" + >+ " foo(); // valid match as A is abstract => does not override Abstract.foo()\n" + >+ " }\n" + >+ " }\n" + >+ " class B extends A {\n" + >+ " public void foo() {}\n" + >+ " void b() {\n" + >+ " foo(); // valid match as B.foo() is the first override in sub-class\n" + >+ " }\n" + >+ " }\n" + >+ " class C extends B {\n" + >+ " public void foo() {}\n" + >+ " void c() {\n" + >+ " foo(); // invalid match as C.foo() overrides Abstract.foo() \n" + >+ " }\n" + >+ " }\n" + > "}" > ); > IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); > search(method, REFERENCES); > assertSearchResults( >- "src/Test.java void Test$A.a() [foo()] EXACT_MATCH\n" + >+ "src/Test.java void Test$A.a() [foo()] EXACT_MATCH\n" + > "src/Test.java void Test$B.b() [foo()] EXACT_MATCH" > ); > } >@@ -7398,28 +7467,28 @@ > resultCollector.showRule = true; > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", >- "public class Test {\n" + >- " abstract class Abstract {\n" + >- " public abstract void foo();\n" + >- " }\n" + >- " class A extends Abstract {\n" + >- " public void foo() {}\n" + >- " void a() {\n" + >- " foo(); // valid match as A.foo() is the first override in sub-class\n" + >- " }\n" + >- " }\n" + >- " abstract class B extends A {\n" + >- " public abstract void foo();\n" + >- " void b() {\n" + >- " foo(); // invalid match as B.foo() is hidden by the override A.foo()\n" + >- " }\n" + >- " }\n" + >- " class C extends B {\n" + >- " public void foo() {}\n" + >- " void c() {\n" + >- " foo(); // invalid match as C.foo() overrides A.foo()\n" + >- " }\n" + >- " }\n" + >+ "public class Test {\n" + >+ " abstract class Abstract {\n" + >+ " public abstract void foo();\n" + >+ " }\n" + >+ " class A extends Abstract {\n" + >+ " public void foo() {}\n" + >+ " void a() {\n" + >+ " foo(); // valid match as A.foo() is the first override in sub-class\n" + >+ " }\n" + >+ " }\n" + >+ " abstract class B extends A {\n" + >+ " public abstract void foo();\n" + >+ " void b() {\n" + >+ " foo(); // invalid match as B.foo() is hidden by the override A.foo()\n" + >+ " }\n" + >+ " }\n" + >+ " class C extends B {\n" + >+ " public void foo() {}\n" + >+ " void c() {\n" + >+ " foo(); // invalid match as C.foo() overrides A.foo()\n" + >+ " }\n" + >+ " }\n" + > "}" > ); > IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); >@@ -7613,18 +7682,18 @@ > null); > // Should have same types with these 2 searches > assertSearchResults("Wrong types found!", >- "java.lang.CharSequence\n" + >- "java.lang.Class\n" + >- "java.lang.CloneNotSupportedException\n" + >- "java.lang.Comparable\n" + >- "java.lang.Enum\n" + >- "java.lang.Error\n" + >- "java.lang.Exception\n" + >- "java.lang.IllegalMonitorStateException\n" + >- "java.lang.InterruptedException\n" + >- "java.lang.Object\n" + >- "java.lang.RuntimeException\n" + >- "java.lang.String\n" + >+ "java.lang.CharSequence\n" + >+ "java.lang.Class\n" + >+ "java.lang.CloneNotSupportedException\n" + >+ "java.lang.Comparable\n" + >+ "java.lang.Enum\n" + >+ "java.lang.Error\n" + >+ "java.lang.Exception\n" + >+ "java.lang.IllegalMonitorStateException\n" + >+ "java.lang.InterruptedException\n" + >+ "java.lang.Object\n" + >+ "java.lang.RuntimeException\n" + >+ "java.lang.String\n" + > "java.lang.Throwable", > requestor > ); >@@ -7681,8 +7750,8 @@ > IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, > null); > assertSearchResults("Wrong types found!", >- "xy.BE_124645\n" + >- "xy.BX_124645\n" + >+ "xy.BE_124645\n" + >+ "xy.BX_124645\n" + > "xy.BY_124645", > requestor > ); >@@ -7739,12 +7808,12 @@ > private void setUpBug164121() throws CoreException { > workingCopies = new ICompilationUnit[1]; > workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/A.java", >- "class A {\n" + >- " int x(int param) {\n" + >- " param = 2 + 2;\n" + >- " int x = param + 2;\n" + >- " return param - x;\n" + >- " }\n" + >+ "class A {\n" + >+ " int x(int param) {\n" + >+ " param = 2 + 2;\n" + >+ " int x = param + 2;\n" + >+ " return param - x;\n" + >+ " }\n" + > "}\n" > ); > } >@@ -7763,9 +7832,9 @@ > ILocalVariable param = getLocalVariable(this.workingCopies[0], "param", "param"); > search(param, ALL_OCCURRENCES); > assertSearchResults( >- "src/A.java int A.x(int).param [param] EXACT_MATCH\n" + >- "src/A.java int A.x(int) [param] EXACT_MATCH\n" + >- "src/A.java int A.x(int) [param] EXACT_MATCH\n" + >+ "src/A.java int A.x(int).param [param] EXACT_MATCH\n" + >+ "src/A.java int A.x(int) [param] EXACT_MATCH\n" + >+ "src/A.java int A.x(int) [param] EXACT_MATCH\n" + > "src/A.java int A.x(int) [param] EXACT_MATCH" > ); > } >@@ -7787,7 +7856,7 @@ > collector.showAccuracy = true; > search(type, REFERENCES, getJavaSearchScopeBugs(), collector); > assertSearchResults( >- "lib/b164791.jar test.<anonymous> EXACT_MATCH\n" + >+ "lib/b164791.jar test.<anonymous> EXACT_MATCH\n" + > "lib/b164791.jar test.<anonymous> EXACT_MATCH", > collector > ); >@@ -7801,7 +7870,7 @@ > public void testBug166348() throws CoreException { > search("Test166348", TYPE, DECLARATIONS); > assertSearchResults( >- "lib/b166348.jar pack.Test166348 [No source] EXACT_MATCH\n" + >+ "lib/b166348.jar pack.Test166348 [No source] EXACT_MATCH\n" + > "lib/b166348.jar test.Test166348 [No source] EXACT_MATCH" > ); > } >@@ -7892,15 +7961,15 @@ > createJavaProject("P2", new String[] {""}, new String[] {"JCL_LIB", "/P1/bin"}, ""); > workingCopies = new ICompilationUnit[2]; > workingCopies[0] = getWorkingCopy("/P2/Test1.java", >- "public class Test1 {\n" + >- " void bar() {\n" + >- " p.Y.foo();\n" + >+ "public class Test1 {\n" + >+ " void bar() {\n" + >+ " p.Y.foo();\n" + > " new p.X();\n" + // cause AbortCompilation here >- " }\n" + >+ " }\n" + > "}" > ); > workingCopies[1] = getWorkingCopy("/P2/Test2.java", >- "public class Test2 {\n" + >+ "public class Test2 {\n" + > " void foo() {}\n" + > " void bar() {\n" + > " foo();\n" + >@@ -7953,93 +8022,94 @@ > public void testBug185452() throws CoreException { > JavaSearchResultCollector packageCollector = new JavaSearchResultCollector(true); > search( >- "*", >+ "*", > PACKAGE, >- DECLARATIONS, >- SearchEngine.createWorkspaceScope(), >+ DECLARATIONS, >+ SearchEngine.createWorkspaceScope(), > packageCollector); > assertSearchResults( >- ""+ getExternalJCLPathString("1.5") + " \n" + >- ""+ getExternalJCLPathString("1.5") + " java\n" + >- ""+ getExternalJCLPathString("1.5") + " java.io\n" + >- ""+ getExternalJCLPathString("1.5") + " java.lang\n" + >- ""+ getExternalJCLPathString("1.5") + " java.lang.annotation\n" + >- "lib \n" + >- "lib/JavaSearch15.jar [No source]\n" + >- "lib/JavaSearch15.jar g1 [No source]\n" + >- "lib/JavaSearch15.jar g1.t [No source]\n" + >- "lib/JavaSearch15.jar g1.t.s [No source]\n" + >- "lib/JavaSearch15.jar g1.t.s.def [No source]\n" + >- "lib/JavaSearch15.jar g5 [No source]\n" + >- "lib/JavaSearch15.jar g5.c [No source]\n" + >- "lib/JavaSearch15.jar g5.c.def [No source]\n" + >- "lib/JavaSearch15.jar g5.m [No source]\n" + >- "lib/JavaSearch15.jar g5.m.def [No source]\n" + >- "lib/b110422.jar [No source]\n" + >- "lib/b110422.jar b110422 [No source]\n" + >- "lib/b123679.jar [No source]\n" + >- "lib/b123679.jar pack [No source]\n" + >- "lib/b123679.jar test [No source]\n" + >- "lib/b124469.jar [No source]\n" + >- "lib/b124469.jar pack [No source]\n" + >- "lib/b124469.jar test [No source]\n" + >- "lib/b124645.jar [No source]\n" + >- "lib/b124645.jar test [No source]\n" + >- "lib/b124645.jar xy [No source]\n" + >- "lib/b125178.jar [No source]\n" + >- "lib/b125178.jar pack [No source]\n" + >- "lib/b125178.jar pack.age [No source]\n" + >- "lib/b126330.jar [No source]\n" + >- "lib/b128877.jar [No source]\n" + >- "lib/b128877.jar pack [No source]\n" + >- "lib/b137984.jar [No source]\n" + >- "lib/b140156.jar [No source]\n" + >- "lib/b164791.jar [No source]\n" + >- "lib/b164791.jar pack [No source]\n" + >- "lib/b164791.jar test [No source]\n" + >- "lib/b166348.jar [No source]\n" + >- "lib/b166348.jar pack [No source]\n" + >- "lib/b166348.jar test [No source]\n" + >- "lib/b86293.jar [No source]\n" + >- "lib/b87627.jar [No source]\n" + >- "lib/b87627.jar b87627 [No source]\n" + >- "lib/b89848 b89848\n" + >- "lib/b95152.jar [No source]\n" + >- "lib/b95152.jar b95152 [No source]\n" + >- "lib/test75816.jar [No source]\n" + >- "lib/test81556.jar [No source]\n" + >- "lib/test81556.jar b81556 [No source]\n" + >- "lib/test81556.jar b81556.b [No source]\n" + >- "src \n" + >- "src/b108088 b108088\n" + >- "src/b123679 b123679\n" + >- "src/b123679/pack b123679.pack\n" + >- "src/b123679/test b123679.test\n" + >- "src/b124645 b124645\n" + >- "src/b124645/test b124645.test\n" + >- "src/b124645/xy b124645.xy\n" + >- "src/b127628 b127628\n" + >- "src/b137984 b137984\n" + >- "src/b163984 b163984\n" + >- "src/b81556 b81556\n" + >- "src/b81556/a b81556.a\n" + >- "src/b86380 b86380\n" + >+ ""+ getExternalJCLPathString("1.5") + " \n" + >+ ""+ getExternalJCLPathString("1.5") + " java\n" + >+ ""+ getExternalJCLPathString("1.5") + " java.io\n" + >+ ""+ getExternalJCLPathString("1.5") + " java.lang\n" + >+ ""+ getExternalJCLPathString("1.5") + " java.lang.annotation\n" + >+ "lib \n" + >+ "lib/JavaSearch15.jar [No source]\n" + >+ "lib/JavaSearch15.jar g1 [No source]\n" + >+ "lib/JavaSearch15.jar g1.t [No source]\n" + >+ "lib/JavaSearch15.jar g1.t.s [No source]\n" + >+ "lib/JavaSearch15.jar g1.t.s.def [No source]\n" + >+ "lib/JavaSearch15.jar g5 [No source]\n" + >+ "lib/JavaSearch15.jar g5.c [No source]\n" + >+ "lib/JavaSearch15.jar g5.c.def [No source]\n" + >+ "lib/JavaSearch15.jar g5.m [No source]\n" + >+ "lib/JavaSearch15.jar g5.m.def [No source]\n" + >+ "lib/b110422.jar [No source]\n" + >+ "lib/b110422.jar b110422 [No source]\n" + >+ "lib/b123679.jar [No source]\n" + >+ "lib/b123679.jar pack [No source]\n" + >+ "lib/b123679.jar test [No source]\n" + >+ "lib/b124469.jar [No source]\n" + >+ "lib/b124469.jar pack [No source]\n" + >+ "lib/b124469.jar test [No source]\n" + >+ "lib/b124645.jar [No source]\n" + >+ "lib/b124645.jar test [No source]\n" + >+ "lib/b124645.jar xy [No source]\n" + >+ "lib/b125178.jar [No source]\n" + >+ "lib/b125178.jar pack [No source]\n" + >+ "lib/b125178.jar pack.age [No source]\n" + >+ "lib/b126330.jar [No source]\n" + >+ "lib/b128877.jar [No source]\n" + >+ "lib/b128877.jar pack [No source]\n" + >+ "lib/b137984.jar [No source]\n" + >+ "lib/b140156.jar [No source]\n" + >+ "lib/b164791.jar [No source]\n" + >+ "lib/b164791.jar pack [No source]\n" + >+ "lib/b164791.jar test [No source]\n" + >+ "lib/b166348.jar [No source]\n" + >+ "lib/b166348.jar pack [No source]\n" + >+ "lib/b166348.jar test [No source]\n" + >+ "lib/b86293.jar [No source]\n" + >+ "lib/b87627.jar [No source]\n" + >+ "lib/b87627.jar b87627 [No source]\n" + >+ "lib/b89848 b89848\n" + >+ "lib/b95152.jar [No source]\n" + >+ "lib/b95152.jar b95152 [No source]\n" + >+ "lib/test75816.jar [No source]\n" + >+ "lib/test81556.jar [No source]\n" + >+ "lib/test81556.jar b81556 [No source]\n" + >+ "lib/test81556.jar b81556.b [No source]\n" + >+ "src \n" + >+ "src/b108088 b108088\n" + >+ "src/b123679 b123679\n" + >+ "src/b123679/pack b123679.pack\n" + >+ "src/b123679/test b123679.test\n" + >+ "src/b124645 b124645\n" + >+ "src/b124645/test b124645.test\n" + >+ "src/b124645/xy b124645.xy\n" + >+ "src/b127628 b127628\n" + >+ "src/b137984 b137984\n" + >+ "src/b142044 b142044\n" + >+ "src/b163984 b163984\n" + >+ "src/b81556 b81556\n" + >+ "src/b81556/a b81556.a\n" + >+ "src/b86380 b86380\n" + > "src/b95794 b95794", > packageCollector); > } > > /** > * @bug 194185 [search] for package declarations finds also subpackages >- * @test Ensure that exact package is found when no >+ * @test Ensure that exact package is found when no > * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=194185" > */ > public void testBug194185() throws CoreException { > JavaSearchResultCollector packageCollector = new JavaSearchResultCollector(true); > search( >- "java", >+ "java", > PACKAGE, >- DECLARATIONS, >- SearchEngine.createWorkspaceScope(), >+ DECLARATIONS, >+ SearchEngine.createWorkspaceScope(), > packageCollector); > assertSearchResults( > ""+ getExternalJCLPathString("1.5") + " java", >Index: workspace/JavaSearchBugs/src/b142044/X142044_AB.java >=================================================================== >RCS file: workspace/JavaSearchBugs/src/b142044/X142044_AB.java >diff -N workspace/JavaSearchBugs/src/b142044/X142044_AB.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ workspace/JavaSearchBugs/src/b142044/X142044_AB.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,3 @@ >+package b142044; >+public class X142044_AB implements I142044_A, I142044_B { >+} >Index: workspace/JavaSearchBugs/src/b142044/I142044_B.java >=================================================================== >RCS file: workspace/JavaSearchBugs/src/b142044/I142044_B.java >diff -N workspace/JavaSearchBugs/src/b142044/I142044_B.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ workspace/JavaSearchBugs/src/b142044/I142044_B.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,3 @@ >+package b142044; >+public interface I142044_B { >+} >Index: workspace/JavaSearchBugs/src/b142044/X142044.java >=================================================================== >RCS file: workspace/JavaSearchBugs/src/b142044/X142044.java >diff -N workspace/JavaSearchBugs/src/b142044/X142044.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ workspace/JavaSearchBugs/src/b142044/X142044.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,6 @@ >+package b142044; >+public class X142044 { >+ class XX1 implements I142044_A {} >+ class XX2 implements I142044_B {} >+ class XX12 implements I142044_A, I142044_B {} >+} >Index: workspace/JavaSearchBugs/src/b142044/I142044_A.java >=================================================================== >RCS file: workspace/JavaSearchBugs/src/b142044/I142044_A.java >diff -N workspace/JavaSearchBugs/src/b142044/I142044_A.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ workspace/JavaSearchBugs/src/b142044/I142044_A.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,3 @@ >+package b142044; >+public interface I142044_A { >+} >Index: workspace/JavaSearchBugs/src/b142044/X142044_B.java >=================================================================== >RCS file: workspace/JavaSearchBugs/src/b142044/X142044_B.java >diff -N workspace/JavaSearchBugs/src/b142044/X142044_B.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ workspace/JavaSearchBugs/src/b142044/X142044_B.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,3 @@ >+package b142044; >+public class X142044_B implements I142044_B { >+} >Index: workspace/JavaSearchBugs/src/b142044/X142044_A.java >=================================================================== >RCS file: workspace/JavaSearchBugs/src/b142044/X142044_A.java >diff -N workspace/JavaSearchBugs/src/b142044/X142044_A.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ workspace/JavaSearchBugs/src/b142044/X142044_A.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,3 @@ >+package b142044; >+public class X142044_A implements I142044_A { >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 142044
: 73026