protected java.util.Map<PersistentKey, SortedName> getMembers() { java.util.Map<PersistentKey, SortedName> res = new HashMap<PersistentKey, SortedName>(); try { CsmCompoundClassifier classifier = getClassifier(); if (classifier != null) { if (CsmKindUtilities.isClass(classifier)) { initClass((CsmClass) classifier, res); } else if (CsmKindUtilities.isEnum(classifier)) { initEnum((CsmEnum) classifier, res); } } } catch (AssertionError ex){ ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } return res; }
res.add((CsmEnumerator) ob); } else if (CsmKindUtilities.isEnum(ob)) { elemEnum = (CsmEnum) ob; } else if (CsmKindUtilities.isEnumForwardDeclaration(ob)) { if (td.isTypeUnnamed() && type != null) { CsmClassifier classifier = type.getClassifier(); if (CsmKindUtilities.isEnum(classifier)) { elemEnum = (CsmEnum) classifier; } else if (CsmKindUtilities.isEnumForwardDeclaration(classifier)) {
kindName = getString("LBL_Class"); // NOI18N } else if (CsmKindUtilities.isEnum(obj)) { kindName = getString("LBL_Enum"); // NOI18N } else if (CsmKindUtilities.isMacro(obj)) {
private void initEnumDefinition(CsmScope scope) { ClassImpl.MemberForwardDeclaration mfd = findMemberForwardDeclaration(scope); if (mfd instanceof ClassImpl.EnumMemberForwardDeclaration && CsmKindUtilities.isEnum(this)) { ClassImpl.EnumMemberForwardDeclaration fd = (ClassImpl.EnumMemberForwardDeclaration) mfd; fd.setCsmEnum((CsmEnum) this); CsmClass containingClass = fd.getContainingClass(); if (containingClass != null) { // this is our real scope, not current namespace initScope(containingClass); } } }
if (CsmKindUtilities.isNamespace(csmObj)) { return getCsmItemFactory().createNamespaceResultItem((CsmNamespace) csmObj, false); } else if (CsmKindUtilities.isEnum(csmObj)) { return getCsmItemFactory().createEnumResultItem((CsmEnum) csmObj, classDisplayOffset, false); } else if (CsmKindUtilities.isEnumerator(csmObj)) {
/*package*/ static boolean isLangContainerFeature(CsmObject obj) { assert obj != null; return CsmKindUtilities.isFunction(obj) || CsmKindUtilities.isClass(obj) || CsmKindUtilities.isEnum(obj) || CsmKindUtilities.isNamespaceDefinition(obj) || CsmKindUtilities.isFile(obj); }
private static CsmDeclaration findInnerDeclaration(CsmDeclaration outDecl, int offset) { assert (isInObject(outDecl, offset)) : "must be in outDecl object!"; Iterator<? extends CsmDeclaration> it = null; if (CsmKindUtilities.isNamespace(outDecl)) { CsmNamespace ns = (CsmNamespace)outDecl; it = ns.getDeclarations().iterator(); } else if (CsmKindUtilities.isNamespaceDefinition(outDecl)) { it = ((CsmNamespaceDefinition) outDecl).getDeclarations().iterator(); } else if (CsmKindUtilities.isClass(outDecl)) { CsmClass cl = (CsmClass)outDecl; it = cl.getMembers().iterator(); } else if (CsmKindUtilities.isEnum(outDecl)) { CsmEnum en = (CsmEnum)outDecl; it = en.getEnumerators().iterator(); } return findInnerDeclaration(it, offset); }
if (CsmKindUtilities.isClass(obj) || CsmKindUtilities.isEnum(obj)) { CsmClassifier cls = (CsmClassifier) obj;
addDeclarationIfNeed(classMembers.next(), nameAcceptor, symbols, classesOrMembers, nameFilter); } else if (CsmKindUtilities.isEnum(decl)) { CsmEnum en = (CsmEnum) decl; Iterator<CsmEnumerator> enumerators = CsmSelect.getEnumerators(en, nameFilter);
} else if (CsmKindUtilities.isEnum(outDecl)) { CsmEnum en = (CsmEnum)outDecl; it = en.getEnumerators().iterator();
break; if (CsmKindUtilities.isEnum(decl)) { CsmEnum en = (CsmEnum)decl; if (!context.isCpp() || !en.isStronglyTyped() && en.getName().length()==0){ break; if (CsmKindUtilities.isEnum(nsDecl)) { CsmEnum en = (CsmEnum)nsDecl; if (!en.isStronglyTyped() && en.getName().length()==0){ break; if (CsmKindUtilities.isEnum(member)) { CsmEnum en = (CsmEnum)member; if (!context.isCpp() || !en.isStronglyTyped() && en.getName().length()==0){
private static void addDeclarationAndNested(Collection<FileElement> toAdd, CsmOffsetableDeclaration outDecl) { // TODO: what about function return value? // TODO: what about function params? // TODO: what about const/virtual attributes? // TODO: what about static? CharAndCharSequence cs = new CharAndCharSequence(outDecl.getQualifiedName(), Utils.getCsmDeclarationKindkey(outDecl.getKind())); FileElement fe = new FileElement(outDecl.getStartOffset(), cs); toAdd.add(fe); Iterator<? extends CsmOffsetableDeclaration> it = null; if (CsmKindUtilities.isNamespaceDefinition(outDecl)) { it = ((CsmNamespaceDefinition) outDecl).getDeclarations().iterator(); } else if (CsmKindUtilities.isClass(outDecl)) { CsmClass cl = (CsmClass) outDecl; it = cl.getMembers().iterator(); for (CsmInheritance inh : cl.getBaseClasses()) { CharAndCharSequence csi = new CharAndCharSequence(inh.getAncestorType().getClassifierText(), Utils.getCsmInheritanceKindKey(inh)); toAdd.add(new FileElement(inh.getStartOffset(), csi)); } } else if (CsmKindUtilities.isEnum(outDecl)) { CsmEnum en = (CsmEnum) outDecl; it = en.getEnumerators().iterator(); } if (it != null) { while (it.hasNext()) { CsmOffsetableDeclaration decl = (CsmOffsetableDeclaration) it.next(); addDeclarationAndNested(toAdd, decl); } } }
@Override public void addDeclaration(CsmOffsetableDeclaration declaration) { boolean unnamed = !Utils.canRegisterDeclaration(declaration); // allow to register any enum if(unnamed && !CsmKindUtilities.isEnum(declaration) ) { return; } // TODO: remove this dirty hack! if( (declaration instanceof VariableImpl<?>) ) { VariableImpl<?> v = (VariableImpl<?>) declaration; if( isNamespaceScope(v, isGlobal()) ) { v.setScope(this); } else { return; } } if (unnamed) { unnamedDeclarations.add(UIDCsmConverter.declarationToUID(declaration)); } else { getDeclarationsSorage().putDeclaration(declaration); } // update repository RepositoryUtils.put(this); notify(declaration, NotifyEvent.DECLARATION_ADDED); }
if (CsmKindUtilities.isEnum(elem)) { listByName = CsmSortUtilities.filterList(((CsmEnum)elem).getEnumerators(), strPrefix, match, caseSensitive); list.addAll(listByName);
} else if(CsmKindUtilities.isEnum(decl)){ CsmEnum cls = (CsmEnum)decl; if (cls.isValid()) {
} else if (CsmKindUtilities.isEnum(classifier)) { return getSizeOfEnum(context); } else if (CsmKindUtilities.isBuiltIn(classifier)) {
CsmKindUtilities.isNamespace(item) || CsmKindUtilities.isFunction(item) || CsmKindUtilities.isEnum(item) || CsmKindUtilities.isUnion(item) || CsmKindUtilities.isFile(item)) { CsmKindUtilities.isNamespace(item) || CsmKindUtilities.isFunction(item) || CsmKindUtilities.isEnum(item) || CsmKindUtilities.isUnion(item) || CsmKindUtilities.isFile(item)) {
int endLineOffset = 1; if (CsmKindUtilities.isNamespaceDefinition((CsmObject)obj) || CsmKindUtilities.isEnum((CsmObject)obj)) { endOffset = stOffset; endLineOffset = 0;
if (CsmKindUtilities.isClass(decl) || CsmKindUtilities.isEnum(decl)) {
if (CsmKindUtilities.isEnum(decl)) { findInner((CsmEnum)decl, offset, context); } else if (CsmKindUtilities.isClass(decl)) {