@Override public CsmFunctionDefinition getDefinition() { return declaration.getDefinition(); }
private CsmFunction initDefinition() { if (CsmKindUtilities.isFunctionDeclaration(function)) { CsmFunction f = function.getDefinition(); if (f != null) { return f; } } return function; }
private boolean checkDefinitions(CsmObject targetDef, CsmObject referencedObj) { if (targetDef == null) { return false; } if (targetDef.equals(referencedObj)) { return true; } if (CsmKindUtilities.isFunction(referencedObj)) { CsmFunctionDefinition refDef = ((CsmFunction) referencedObj).getDefinition(); return targetDef.equals(refDef); } return false; }
public static Collection<CsmFunction> getAllOutOfClassMethodDefinitions(CsmClass clazz) { // get all method declarations Iterator<CsmMember> methods = CsmSelect.getClassMembers(clazz, CsmSelect.FUNCTION_KIND_FILTER); List<CsmFunction> result = new ArrayList<CsmFunction>(); // find definitions of that declarations while (methods.hasNext()) { CsmMethod method = (CsmMethod) methods.next(); CsmFunction definition = ((CsmFunction) method).getDefinition(); if (definition != null && definition != method) { result.add(definition); } } return result; }
private static CsmFunction getFunction(CsmProject project, CharSequence qualifiedName) { Iterator<CsmFunction> iter = CsmSelect.getFunctions(project, qualifiedName); CsmFunction declaration = null; while (iter.hasNext()) { CsmFunction function = iter.next(); if (CsmKindUtilities.isFunctionDefinition(function)) { return function; } else { // declaration CsmFunctionDefinition definition = function.getDefinition(); if (definition != null) { return definition; } else { declaration = function; } } } return declaration; }
@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); } } };
if (CsmKindUtilities.isMethod(member)) { CsmMethod method = (CsmMethod) member; CsmFunction definition = ((CsmFunction)method).getDefinition(); InsertPoint ip = new InsertPoint(encloser, method, definition, idx + 1, NbBundle.getMessage( EncapsulateFieldPanel.class,
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); }
CsmFunctionDefinition def = fun.getDefinition(); if (def != null && def != decl){ PersistentKey defKey = PersistentKey.createKey(def);
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; }
CsmFunctionDefinition definition = csmFunction.getDefinition(); if (definition != null) { allFunctions.add(definition);
CsmMember next = classMembers.next(); if (CsmKindUtilities.isFunctionDeclaration(next)) { CsmFunctionDefinition definition = ((CsmFunction) next).getDefinition(); if (definition != null && !definition.equals(next)) { specs.add(definition);
private void removeFunctionDeclaration(final CsmOffsetableDeclaration decl) { CsmFunction fun = (CsmFunction)decl; CsmFile file = fun.getContainingFile(); if (file != null && file.isValid()){ CsmOffsetableDeclaration other = (CsmOffsetableDeclaration) file.getProject().findDeclaration(fun.getUniqueName()); if (other != null) { PersistentKey otherKey = PersistentKey.createKey(other); if (!myKeys.containsKey(otherKey)) { myKeys.put(otherKey,getSortedName(other)); myChanges.remove(otherKey); return; } } } CsmFunctionDefinition def = fun.getDefinition(); if (def != null && def != decl){ file = fun.getContainingFile(); if (file != null && file.isValid() && file.getProject().findDeclaration(def.getUniqueName()) != null){ PersistentKey defKey = PersistentKey.createKey(def); if (!myKeys.containsKey(defKey)) { myKeys.put(defKey,getSortedName(def)); myChanges.remove(defKey); } } } }
CsmFunctionDefinition def = ((CsmFunction)decl).getDefinition(); if (def != null && def != decl) { arr.addAll(project.findDeclarations(def.getUniqueName()));
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; }
@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); } };
CsmFunctionDefinition definition = func.getDefinition(); if (definition != null ) { if(CsmVisibilityQuery.isVisible(definition)) {
CsmFunctionDefinition definition = method.getDefinition(); if (definition == null) { items.add(CsmImplementsMethodCompletionItem.createImplementItem(queryAnchorOffset, caretOffset, cls, method));
CsmFunctionDefinition definition = ((CsmFunction) decl).getDefinition(); if (definition == null || definition == decl) { if(CsmVisibilityQuery.isVisible(decl)) {
CsmFunctionDefinition definition = ((CsmFunction) csmObject).getDefinition(); if (definition != null) { if (csmFile.equals(definition.getContainingFile()) &&