private boolean isInDeclaration(CsmFunction func, CsmFile csmFile, int offset) { CsmFunctionDefinition def; CsmFunction decl; if (CsmKindUtilities.isFunctionDefinition(func)) { def = (CsmFunctionDefinition) func; decl = def.getDeclaration(); } else { decl = func; def = func.getDefinition(); } if (def != null) { if (csmFile.equals(def.getContainingFile()) && (def.getStartOffset() <= offset && offset <= def.getBody().getStartOffset())) { return true; } } if (decl != null) { // just declaration if (csmFile.equals(decl.getContainingFile()) && (decl.getStartOffset() <= offset && offset <= decl.getEndOffset())) { return true; } } return false; }
case VARIABLE: { int stOffset = ((CsmOffsetable) obj).getStartOffset(); if (csmFunction.csmObject.getStartOffset() < stOffset && stOffset < csmFunction.csmObject.getEndOffset()) { out = XRefResultSet.DeclarationScope.FUNCTION_THIS;
if (definition != null) { if (csmFile.equals(definition.getContainingFile()) && (definition.getStartOffset() <= offset && offset <= definition.getBody().getStartOffset())) { CsmFunctionDefinition definition = (CsmFunctionDefinition) csmObject; if (csmFile.equals(definition.getContainingFile()) && (definition.getStartOffset() <= offset && offset <= definition.getBody().getStartOffset())) {
decl.getKind() == CsmDeclaration.Kind.FUNCTION_FRIEND_DEFINITION) { CsmFunctionDefinition fd = (CsmFunctionDefinition) decl; if( fd.getStartOffset() < offset && offset < fd.getEndOffset() ) { containingFunction = fd; CsmNamespace ns = BaseUtilitiesProviderImpl.getImpl()._getFunctionNamespace(fd);