diff options
author | Manoj Palat | 2015-03-09 04:19:13 +0000 |
---|---|---|
committer | Manoj Palat | 2015-03-09 04:19:13 +0000 |
commit | 34f724a9738d7636a75842e2910c694725115548 (patch) | |
tree | dc810b32e3065fb17882ea4440622f43524bd61f /org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java | |
parent | d40b3c41bcebac07f42f1f11c9b679087cfd1515 (diff) | |
download | eclipse.jdt.core-34f724a9738d7636a75842e2910c694725115548.tar.gz eclipse.jdt.core-34f724a9738d7636a75842e2910c694725115548.tar.xz eclipse.jdt.core-34f724a9738d7636a75842e2910c694725115548.zip |
Fix for Bug 461025 [1.8][search] Search for constructor referenceI20150310-0800
expressions reports other constructors also
Diffstat (limited to 'org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java')
-rw-r--r-- | org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java index a234f403ee..fb6d3fb482 100644 --- a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java +++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2014 IBM Corporation and others. + * Copyright (c) 2000, 2015 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 @@ -13,6 +13,7 @@ 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.compiler.CharOperation; +import org.eclipse.jdt.core.search.IJavaSearchConstants; import org.eclipse.jdt.core.search.SearchMatch; import org.eclipse.jdt.core.search.SearchPattern; import org.eclipse.jdt.internal.compiler.ast.*; @@ -44,6 +45,7 @@ public int match(ASTNode node, MatchingNodeSet nodeSet) { // interested in Expli return nodeSet.addMatch(node, this.pattern.mustResolve ? POSSIBLE_MATCH : ACCURATE_MATCH); } public int match(ConstructorDeclaration node, MatchingNodeSet nodeSet) { + if (this.pattern.fineGrain != 0 && !this.pattern.findDeclarations) return IMPOSSIBLE_MATCH; int referencesLevel = this.pattern.findReferences ? matchLevelForReferences(node) : IMPOSSIBLE_MATCH; int declarationsLevel = this.pattern.findDeclarations ? matchLevelForDeclarations(node) : IMPOSSIBLE_MATCH; @@ -100,6 +102,10 @@ public int match(ReferenceExpression node, MatchingNodeSet nodeSet) { public int match(TypeDeclaration node, MatchingNodeSet nodeSet) { if (!this.pattern.findReferences) return IMPOSSIBLE_MATCH; + if (this.pattern.fineGrain != 0 && + (this.pattern.fineGrain & ~IJavaSearchConstants.METHOD_REFERENCE_EXPRESSION) == 0 ) + return IMPOSSIBLE_MATCH; + // need to look for a generated default constructor return nodeSet.addMatch(node, this.pattern.mustResolve ? POSSIBLE_MATCH : ACCURATE_MATCH); } |