public static boolean canRegisterDeclaration(CsmDeclaration decl) { // WAS: don't put unnamed declarations assert decl != null; assert decl.getName() != null; if (decl.getName().length() == 0) { return false; } CsmScope scope = decl.getScope(); if (scope instanceof CsmCompoundClassifier) { return canRegisterDeclaration((CsmCompoundClassifier) scope); } return true; }
@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 CsmObject resolveInUsingDeclarations(CsmObject result, CsmNamespace containingNS, CharSequence nameToken, AtomicBoolean outVisibility) { if (result == null || !outVisibility.get()) { Collection<CsmDeclaration> decls = CsmUsingResolver.getDefault().findUsedDeclarations(containingNS, nameToken);//, nameToken); for (CsmDeclaration decl : decls) { if (CharSequences.comparator().compare(nameToken, decl.getName()) == 0) { if (CsmKindUtilities.isClassifier(decl) && needClassifiers()) { result = decl; break; } else if (CsmKindUtilities.isClass(decl) && needClasses()) { result = decl; break; } } } } return result; }
if (CsmKindUtilities.isTemplate(cls)) { specs = new ArrayList<>(); CharSequence funName = templateDecl.getName(); Collection<CsmOffsetableDeclaration> specializations = getSpecializations(cls, contextFile, contextOffset); for (CsmOffsetableDeclaration specialization : specializations) {
CsmClass cls = (CsmClass) decl; if (!CsmClassifierResolver.getDefault().isForwardClass(cls)) { if (matcher.accept(decl.getName().toString())) { if (CsmVisibilityQuery.isVisible(cls)) { addResult(cls); case ENUM: case TYPEDEF: if (matcher.accept(decl.getName().toString())) { if (CsmVisibilityQuery.isVisible(decl)) { addResult((CsmClassifier) decl);
addEnumerators(res, en, strPrefix, match, caseSensitive); } else if (CsmKindUtilities.isNamespaceDefinition(decl) && decl.getName().length()==0){ CsmNamespaceDefinition ns = (CsmNamespaceDefinition)decl; CsmFilter filter = createFilter(new CsmDeclaration.Kind[] {CsmDeclaration.Kind.ENUM}, (!context.isCpp() || decl.getName().length()==0)){ CsmClass cls = (CsmClass) decl; for (CsmMember member : cls.getMembers()) {
if (matchVisibility((CsmMember) decl, vInfo.visibility)) { if (isKindOf(decl.getKind(), kinds)) { CharSequence memberName = decl.getName(); if ((matchName(memberName, strPrefix, match)) || (memberName.length() == 0 && returnUnnamedMembers)) {
while (it.hasNext()) { CsmDeclaration elem = it.next(); if (CharSequences.comparator().compare(lastName,elem.getName())==0) { if (!CsmKindUtilities.isExternVariable(elem) && !CsmKindUtilities.isClassForwardDeclaration(elem)
CsmDeclaration decl = it.next(); if( CsmKindUtilities.isFunctionDefinition(decl) ) { if( getName().equals(decl.getName()) ) { CsmFunctionDefinition fun = (CsmFunctionDefinition) decl; if( getSignature().equals(fun.getSignature())) {
qualifiedNamePostfix = ((OffsetableDeclarationBase)decl).getQualifiedNamePostfix(); } else { qualifiedNamePostfix = decl.getName();
while (it.hasNext()) { CsmDeclaration decl = it.next(); if (CsmKindUtilities.isExternVariable(decl) && decl.getName().equals(getName())) { FileImpl aFile = (FileImpl) getContainingFile(); aFile.getProjectImpl(true).unregisterDeclaration(this);