mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 295674 - Friend functions are *not* methods.
Change-Id: Iad77cedd5c28044d68c66348526ac3213c24f52a Reviewed-on: https://git.eclipse.org/r/11662 Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com> IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com> Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
This commit is contained in:
parent
28ae178c70
commit
1f8ea23acb
1 changed files with 10 additions and 2 deletions
12
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java
Normal file → Executable file
12
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java
Normal file → Executable file
|
@ -16,7 +16,9 @@ import org.eclipse.core.runtime.CoreException;
|
|||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
|
||||
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTDeclarator;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTName;
|
||||
|
@ -25,6 +27,7 @@ import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
|
|||
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
|
||||
import org.eclipse.cdt.core.dom.ast.IBinding;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDeclarator;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration;
|
||||
|
@ -128,8 +131,13 @@ public class NodeHelper {
|
|||
if (simpleDeclaration == null) {
|
||||
return false;
|
||||
}
|
||||
return simpleDeclaration.getDeclarators().length == 1 &&
|
||||
simpleDeclaration.getDeclarators()[0] instanceof ICPPASTFunctionDeclarator;
|
||||
final IASTDeclSpecifier declSpecifier = simpleDeclaration.getDeclSpecifier();
|
||||
final IASTDeclarator[] declarators = simpleDeclaration.getDeclarators();
|
||||
if ((declSpecifier instanceof ICPPASTDeclSpecifier)
|
||||
&& ((ICPPASTDeclSpecifier) declSpecifier).isFriend()) {
|
||||
return false;
|
||||
}
|
||||
return declarators.length == 1 && declarators[0] instanceof ICPPASTFunctionDeclarator;
|
||||
}
|
||||
|
||||
public static boolean isContainedInTemplateDeclaration(IASTNode node) {
|
||||
|
|
Loading…
Add table
Reference in a new issue