@Override public boolean isImplicit() { IBinding spec = getSpecializedBinding(); if (spec instanceof ICPPMethod) { ((ICPPMethod) spec).isImplicit(); } return false; }
private IName[] findDeclNames(IASTTranslationUnit ast, NameKind kind, IBinding binding) throws CoreException { IName[] declNames = findNames(fIndex, ast, kind, binding); // Bug 207320, handle template instances. while (declNames.length == 0 && binding instanceof ICPPSpecialization) { binding = ((ICPPSpecialization) binding).getSpecializedBinding(); if (binding != null && !(binding instanceof IProblemBinding)) { declNames = findNames(fIndex, ast, NameKind.DEFINITION, binding); } } if (declNames.length == 0 && binding instanceof ICPPMethod) { // Bug 86829, handle implicit methods. ICPPMethod method = (ICPPMethod) binding; if (method.isImplicit()) { IBinding clsBinding = method.getClassOwner(); if (clsBinding != null && !(clsBinding instanceof IProblemBinding)) { declNames = findNames(fIndex, ast, NameKind.REFERENCE, clsBinding); } } } return declNames; }