@Override public boolean equals(Object o) { if (!(o instanceof Description)) { return false; } Description d = (Description) o; if (!this.name.equals(d.name)) { return false; } if (this.elementHandle != d.elementHandle) { if (this.elementHandle == null || d.elementHandle == null) { return false; } if (this.elementHandle.getKind() != d.elementHandle.getKind()) { return false; } if (!this.elementHandle.equals(d.elementHandle)) { return false; } } return true; }
@Override public int hashCode() { int hash = 7; hash = 29 * hash + (this.name != null ? this.name.hashCode() : 0); hash = 29 * hash + (this.elementHandle != null ? this.elementHandle.getKind().hashCode() : 0); return hash; }
private InheritanceImpl(CsmFile file, CsmScope scope, CsmType ancestorType, CsmVisibility visibility, boolean virtual, int startOffset, int endOffset) { super(file, startOffset, endOffset); this.scope = UIDCsmConverter.scopeToUID(scope); if (visibility == null) { this.visibility = ((CsmDeclaration)scope).getKind() == CsmDeclaration.Kind.STRUCT ? CsmVisibility.PUBLIC: CsmVisibility.PRIVATE; } else { this.visibility = visibility; } this.virtual = virtual; this.ancestorType = ancestorType; }
public static String getCsmName(CsmObject obj) { StringBuilder buf = new StringBuilder(); if (CsmKindUtilities.isNamedElement(obj)) { CsmNamedElement named = (CsmNamedElement) obj; buf.append(" [name] ").append(named.getName()); // NOI18N } else { String simpleName = obj.getClass().getName(); simpleName = simpleName.substring(simpleName.lastIndexOf('.') + 1); // NOI18N buf.append(" [class] ").append(simpleName); // NOI18N } if (CsmKindUtilities.isDeclaration(obj)) { CsmDeclaration decl = (CsmDeclaration) obj; buf.append(" [kind] ").append(decl.getKind()); // NOI18N } return buf.toString(); } //-------------------------------------------------------------------------
@SuppressWarnings("unchecked") /*package*/ void filterDeclarations(final Iterator in, final Collection out, final CsmDeclaration.Kind kinds[], final String strPrefix, final boolean match, final boolean returnUnnamedMembers) { while (in.hasNext()) { CsmDeclaration decl = (CsmDeclaration) in.next(); if (isKindOf(decl.getKind(), kinds)) { CharSequence name = decl.getName(); if (matchName(name, strPrefix, match) || (name.length() == 0 && returnUnnamedMembers)) { out.add(decl); } } } }
@SuppressWarnings("unchecked") /*package*/ void filterDeclarations(final CsmNamespace ns, final Collection out, final CsmDeclaration.Kind[] kinds, final String strPrefix, final boolean match, final boolean returnUnnamedMembers) { CsmFilter filter = CsmContextUtilities.createFilter(kinds, strPrefix, match, caseSensitive, returnUnnamedMembers); Iterator it = CsmSelect.getDeclarations(ns, filter); while (it.hasNext()) { CsmDeclaration decl = (CsmDeclaration) it.next(); if (isKindOf(decl.getKind(), kinds)) { CharSequence name = decl.getName(); if (matchName(name, strPrefix, match) || (name.length() == 0 && returnUnnamedMembers)) { out.add(decl); } } } }
private void findContext(Iterator<?> it, CsmFilter filter, int offset) { while(it.hasNext()) { CsmDeclaration decl = (CsmDeclaration) it.next(); if( decl.getKind() == CsmDeclaration.Kind.NAMESPACE_DEFINITION ) { CsmNamespaceDefinition nd = (CsmNamespaceDefinition) decl; if( nd.getStartOffset() < offset && offset < nd.getEndOffset() ) { findContext(CsmSelect.getDeclarations(nd, filter), filter, offset); } else if( decl.getKind() == CsmDeclaration.Kind.CLASS || decl.getKind() == CsmDeclaration.Kind.STRUCT || decl.getKind() == CsmDeclaration.Kind.UNION ) { findContext(CsmSelect.getClassMembers(containingClass, filter), filter, offset); } else if( decl.getKind() == CsmDeclaration.Kind.FUNCTION_DEFINITION || decl.getKind() == CsmDeclaration.Kind.FUNCTION_LAMBDA || decl.getKind() == CsmDeclaration.Kind.FUNCTION_FRIEND_DEFINITION) { CsmFunctionDefinition fd = (CsmFunctionDefinition) decl; if( fd.getStartOffset() < offset && offset < fd.getEndOffset() ) {
public static CsmDeclaration.Kind getKind(CsmUID<?> uid) { if (uid instanceof KeyBasedUID<?>) { Key key = ((KeyBasedUID<?>) uid).getKey(); return KeyUtilities.getKeyKind(key); } else if (UIDProviderIml.isSelfUID(uid)) { CsmObject object = (CsmObject) uid.getObject(); if (CsmKindUtilities.isDeclaration(object)) { return ((CsmDeclaration)object).getKind(); } } return null; }
CsmDeclaration.Kind kind = CsmKindUtilities.isDeclaration(element) ? ((CsmDeclaration) element).getKind() : null; if (kind == CsmDeclaration.Kind.NAMESPACE_DEFINITION) { CsmNamespaceDefinition nsd = (CsmNamespaceDefinition) element;
VisibilityInfo vInfo = getContextVisibility(containingClass, member, CsmVisibility.PROTECTED, INIT_INHERITANCE_LEVEL); if (matchVisibility((CsmMember) decl, vInfo.visibility)) { if (isKindOf(decl.getKind(), kinds)) { CharSequence memberName = decl.getName(); if ((matchName(memberName, strPrefix, match)) ||
private void processDeclaration(CsmDeclaration decl, NameMatcher matcher) { checkCancelled(); switch (decl.getKind()) { case CLASS: case UNION:
CsmDeclaration.Kind kind = CsmKindUtilities.isDeclaration(element) ? ((CsmDeclaration) element).getKind() : null; if (kind != null) { switch (kind) {
CsmProject prj = getContainingFile().getProject(); CsmDeclaration decl = findDeclaration(prj, uname); if (decl != null && decl.getKind() == CsmDeclaration.Kind.FUNCTION) { if (!isStatic() || CsmKindUtilities.isClassMember(this) || !CsmKindUtilities.isOffsetableDeclaration(decl) uname = ""+Utils.getCsmDeclarationKindkey(CsmDeclaration.Kind.FUNCTION_FRIEND) + UNIQUE_NAME_SEPARATOR + getUniqueNameWithoutPrefix(); //NOI18N decl = findDeclaration(prj, uname); if (decl != null && decl.getKind() == CsmDeclaration.Kind.FUNCTION_FRIEND) { if (!isStatic() || CsmKindUtilities.isClassMember(this) || !CsmKindUtilities.isOffsetableDeclaration(decl)
private InheritanceImpl(AST ast, CsmFile file, CsmScope scope) { super(file, getStartOffset(ast), getEndOffset(ast)); this.scope = UIDCsmConverter.scopeToUID(scope); visibility = ((CsmDeclaration)scope).getKind() == CsmDeclaration.Kind.STRUCT? CsmVisibility.PUBLIC: CsmVisibility.PRIVATE; for( AST token = ast.getFirstChild(); token != null; token = token.getNextSibling() ) { switch( token.getType() ) { case CPPTokenTypes.LITERAL_private: visibility = CsmVisibility.PRIVATE; break; case CPPTokenTypes.LITERAL_public: visibility = CsmVisibility.PUBLIC; break; case CPPTokenTypes.LITERAL_protected: visibility = CsmVisibility.PROTECTED; break; case CPPTokenTypes.LITERAL_virtual: virtual = true; break; case CPPTokenTypes.CSM_TYPE_DECLTYPE: case CPPTokenTypes.IDENT: this.ancestorType = TemplateUtils.checkTemplateType(TypeFactory.createType(token, getContainingFile(), null, 0, scope), scope); return; // it's definitely the last!; besides otherwise we get NPE in for } } }
private CharSequence getQualifiedNameWithoutScopeStructNameForC(CsmDeclaration decl) { Kind kind = decl.getKind(); if ((kind != CsmDeclaration.Kind.STRUCT && kind != CsmDeclaration.Kind.UNION) || CsmKindUtilities.isTemplate(decl)) {
return MODULE; } else if (CsmKindUtilities.isDeclaration(o)) { kind = ((CsmDeclaration) o).getKind(); } else if (CsmKindUtilities.isNamespace(o)) {
skind = "PARAMETER"; //NOI18N } else if(CsmKindUtilities.isDeclaration(target)) { skind = ((CsmDeclaration)target).getKind().toString(); } else if(CsmKindUtilities.isNamespace(target)) { skind = "NAMESPACE"; //NOI18N
tooltipText = getHtmlizedString("DSC_FunctionTooltip", functionDisplayName); // NOI18N } else if (CsmKindUtilities.isClass(item)) { CsmDeclaration.Kind classKind = ((CsmDeclaration) item).getKind(); String key; if (classKind == CsmDeclaration.Kind.STRUCT) {