@Override public CsmFunction getReferencedFunction() { CsmFunction fun = this; if (CsmKindUtilities.isFunctionDeclaration(this)){ fun = getDefinition(); if (fun == null){ fun = this; } } return fun; }
@Override public CsmFunction getReferencedFunction() { CsmFunction fun = this; if (CsmKindUtilities.isFunctionDeclaration(this)){ fun = getDefinition(); if (fun == null){ fun = this; } } return fun; }
@Override public CsmFunction getReferencedFunction() { CsmFunction fun = this; if (CsmKindUtilities.isFunctionDeclaration(this)){ fun = getDefinition(); if (fun == null){ fun = this; } } return fun; }
@Override public CsmFunction getReferencedFunction() { CsmFunction fun = this; if (CsmKindUtilities.isFunctionDeclaration(this)){ fun = getDefinition(); if (fun == null){ fun = this; } } return fun; }
private CsmFunction initDefinition() { if (CsmKindUtilities.isFunctionDeclaration(function)) { CsmFunction f = function.getDefinition(); if (f != null) { return f; } } return function; }
@Override public void run() { Item el = (Item) list.getSelectedValue(); if (el != null) { CsmOffsetableDeclaration decl = el.declaration; if (gotoDefinitions) { if (CsmKindUtilities.isFunctionDeclaration(decl)) { CsmFunctionDefinition definition = ((CsmFunction) decl).getDefinition(); if (definition != null) { decl = definition; } } } CsmUtilities.openSource(decl); } } };
@Override public boolean removeDeclaration(CsmOffsetableDeclaration decl) { if (!isInited){ return false; } PersistentKey key = PersistentKey.createKey(decl); if (!myKeys.containsKey(key)){ return false; } myKeys.remove(key); myChanges.remove(key); childrenUpdater.unregister(myProject,key); if (CsmKindUtilities.isFunctionDeclaration(decl)) { removeFunctionDeclaration(decl); } else if (CsmKindUtilities.isFunctionDefinition(decl)) { removeFunctionDefinition(decl); } update = true; return true; }
} else if (CsmKindUtilities.isFunctionDeclaration(decl)) { CsmFunction fun = (CsmFunction)decl; CsmFunctionDefinition def = fun.getDefinition();
public static CompletionDocumentationImpl create(CsmObject csmObject) { if (!(csmObject instanceof CsmOffsetable)) { return null; } List<DocCandidate> list = new ArrayList<DocCandidate>(); getDocText(csmObject, list); if (list.isEmpty() || getBestDoc(list).kind != CppTokenId.DOXYGEN_COMMENT) { if (CsmKindUtilities.isFunctionDeclaration(csmObject)) { CsmFunction fun = (CsmFunction) csmObject; CsmFunctionDefinition definition = fun.getDefinition(); if (definition != null && !definition.equals(fun)) { getDocText(definition, list); } } } if (list.isEmpty()) { return null; } DocCandidate bestDoc = getBestDoc(list); String htmlDocText = doxygen2HTML(bestDoc.text, bestDoc.kind); return new CompletionDocumentationImpl(htmlDocText, bestDoc.kind); }
private boolean updateFunction(CsmOffsetableDeclaration decl){ if (CsmKindUtilities.isFunctionDeclaration(decl)) { // try to find definition and remove definition from view CsmFunction fun = (CsmFunction) decl; CsmFunctionDefinition def = fun.getDefinition(); if (def != null && def != decl){ PersistentKey defKey = PersistentKey.createKey(def); if (myKeys.containsKey(defKey)) { myKeys.remove(defKey); myChanges.remove(defKey); childrenUpdater.unregister(myProject,defKey); update = true; return true; } } } else if (CsmKindUtilities.isFunctionDefinition(decl)) { // try to find declaration and remove definition from view CsmFunctionDefinition def = (CsmFunctionDefinition) decl; CsmFunction fun = def.getDeclaration(); if (fun != null && fun != decl){ PersistentKey funKey = PersistentKey.createKey(fun); if (myKeys.containsKey(funKey)) { return removeDeclaration(decl); } } } return false; }
if (CsmKindUtilities.isFunctionDeclaration(m) && CsmKindUtilities.isCastOperator(m)) {
if (CsmKindUtilities.isFunctionDeclaration(decl)) { if (decl instanceof FunctionImpl<?>) { FunctionImpl<?> fi = (FunctionImpl<?>) decl;
if (CsmKindUtilities.isFunctionDeclaration(next)) { CsmFunctionDefinition definition = ((CsmFunction) next).getDefinition(); if (definition != null && !definition.equals(next)) {
if (CsmKindUtilities.isFunctionDeclaration(decl)) {
@Override public void run() { CsmOffsetable target = csmObject; if (!more) { if (CsmKindUtilities.isFunctionDeclaration((CsmObject)csmObject)){ CsmFunctionDefinition def = ((CsmFunction)csmObject).getDefinition(); if (def != null){ target = def; } else { CsmReference ref = CsmFunctionDefinitionResolver.getDefault().getFunctionDefinition((CsmFunction)csmObject); if (ref != null){ target = ref; } } } else if(CsmKindUtilities.isVariableDeclaration((CsmObject)csmObject)){ CsmVariableDefinition def = ((CsmVariable)csmObject).getDefinition(); if (def != null){ target = def; } } } CsmUtilities.openSource(target); } };
if (CsmKindUtilities.isFunctionDeclaration(fun)) { return false;
private void visitDeclarations(Set<CsmClass> classes, Collection<CsmOffsetableDeclaration> decls, final int caretOffset) { for(CsmOffsetableDeclaration decl : decls) { if (!isApplicable) { return; } if (CsmKindUtilities.isNamespaceDefinition(decl)) { if (decl.getStartOffset() <= caretOffset && caretOffset <= decl.getEndOffset()) { visitDeclarations(classes, ((CsmNamespaceDefinition)decl).getDeclarations(), caretOffset); } } else { if (decl.getStartOffset() <= caretOffset && caretOffset <= decl.getEndOffset()) { isApplicable = false; } if (CsmKindUtilities.isMethodDefinition(decl)) { CsmFunction declaration = ((CsmFunctionDefinition)decl).getDeclaration(); if (CsmKindUtilities.isFunctionDeclaration(declaration) && CsmKindUtilities.isClassMember(declaration)) { CsmMember method = (CsmMember) declaration; CsmClass cls = method.getContainingClass(); if (cls != null) { classes.add(cls); } } } } } }
if (CsmKindUtilities.isOffsetable(csmObject)) { item = (CsmOffsetable) csmObject; if (CsmKindUtilities.isFunctionDeclaration(csmObject)) {