private Collection<CsmNamespace> filterNamespaces(Collection<CsmNamespace> orig, CsmProject prj) { LinkedHashSet<CsmNamespace> out = new LinkedHashSet<CsmNamespace>(orig.size()); for (CsmNamespace ns : orig) { if (ns != null && (prj == null || ns.getProject() == prj)) { out.add(ns); } } return out; } }
private void findVisibleNamespacesBfs(Set<CsmNamespace> seen, Queue<CsmNamespace> queue, CsmProject onlyInProject, CsmProject startProject) { // breadth-first search in namespace inclusion graph while (!queue.isEmpty()) { CsmNamespace namespace = queue.poll(); for (CsmNamespace used : findVisibleNamespaces(namespace, startProject)) { if (!seen.contains(used) && !queue.contains(used) && (onlyInProject == null || onlyInProject == used.getProject())) { queue.add(used); } } seen.add(namespace); } }
private Storage getStorage(CsmNamespace ns){ CsmProject project = ns.getProject(); return getStorage(project); }
public static CsmNamespace getProjectNamespace(CsmProject project, CsmNamespace ns) { if (ns == null) { return null; } if (project == null) { return ns; } if (project.equals(ns.getProject())) { return ns; } return new SimpleNamespace(project, ns); }
NamespaceBaseKey(CsmNamespace ns) { super(((ProjectBase) ns.getProject()).getUnitId()); this.fqn = ns.getQualifiedName(); }
public NamespaceKeyArray(ChildrenUpdater childrenUpdater, CsmNamespace namespace){ super(childrenUpdater, namespace.getProject(),PersistentKey.createKey(namespace)); CsmProject project = namespace.getProject(); if (namespace.equals(project.getGlobalNamespace())){ if (!project.isArtificial()) { CsmListeners.getDefault().addProgressListener(this); isRootNamespase = true; } } }
public void addRemovedNamespace(CsmNamespace ns) { // put in removed only if not added as "new" if (_getNewNamespaces().get(ns.getQualifiedName()) == null) { _getRemovedNamespaces().put(ns.getQualifiedName(), ns); getChangedProjects().add(ns.getProject()); } }
public void addNewNamespace(CsmNamespace ns) { // remove from removed if (_getRemovedNamespaces().remove(ns.getQualifiedName()) == null) { _getNewNamespaces().put(ns.getQualifiedName(), ns); getChangedProjects().add(ns.getProject()); } }
prjs.add(csmFile.getProject()); prjs.add(((CsmNamespace)contextObject).getProject());
private void init(CsmNamespace ns){ id = ns.getQualifiedName(); project = ns.getProject(); name = ns.getQualifiedName(); qname = CVUtil.getNamespaceDisplayName(ns).toString(); if( namespaceImage == null ) { namespaceImage = CsmImageLoader.getImage(ns); } }
private Map<CharSequence, CsmNamespace> getNestedNamespaces(CsmNamespace ns, String strPrefix, boolean match, Set<CsmNamespace> handledNS) { Map<CharSequence, CsmNamespace> res = new LinkedHashMap<CharSequence, CsmNamespace>(); // order is important if(ns != null) { handledNS.add(ns); CsmProject nsProject = ns.getProject(); if(nsProject != null) { // handle all nested namespaces for (CsmProject lib : nsProject.getLibraries()) { CsmNamespace n = lib.findNamespace(ns.getQualifiedName()); if (n != null && !handledNS.contains(n)) { res.putAll(getNestedNamespaces(n, strPrefix, match, handledNS)); } } for (Iterator it = ns.getNestedNamespaces().iterator(); it.hasNext();) { CsmNamespace nestedNs = (CsmNamespace) it.next(); // TODO: consider when we add nested namespaces if ((nestedNs.getName().length() != 0) && matchName(nestedNs.getName(), strPrefix, match)) { res.put(nestedNs.getQualifiedName(), nestedNs); // TODO: Think if we really need nested namespaces here if (nestedNs.isInline()) { res.putAll(getNestedNamespaces(nestedNs, strPrefix, match, handledNS)); } } } } } return res; }
@Override public Collection<CsmDeclaration> findUsedDeclarations(CsmNamespace namespace) { List<CsmUsingDeclaration> res = new ArrayList<>(); Iterator<CsmOffsetableDeclaration> udecls = CsmSelect.getDeclarations( namespace, CsmSelect.getFilterBuilder().createKindFilter(CsmDeclaration.Kind.USING_DECLARATION)); while (udecls.hasNext()) { res.add((CsmUsingDeclaration) udecls.next()); } // Let's also look for similarly named namespace in libraries, // like it's done in CsmProjectContentResolver.getNamespaceMembers() if (!namespace.isGlobal()) { for(CsmProject lib : namespace.getProject().getLibraries()){ CsmNamespace ns = lib.findNamespace(namespace.getQualifiedName()); if (ns != null) { Iterator<CsmOffsetableDeclaration> it = CsmSelect.getDeclarations( ns, CsmSelect.getFilterBuilder().createKindFilter(CsmDeclaration.Kind.USING_DECLARATION)); while (it.hasNext()) { res.add((CsmUsingDeclaration) it.next()); } } } } return extractDeclarations(res); }
for(CsmProject lib : namespace.getProject().getLibraries()){ CsmNamespace ns = lib.findNamespace(namespace.getQualifiedName()); if (ns != null) {
for (CsmProject lib : ns.getProject().getLibraries()) { CsmNamespace n = lib.findNamespace(ns.getQualifiedName()); if (n != null && !handledNS.contains(n)) {
qn = CharSequenceUtils.concatenate(ns.getQualifiedName(), "::", prefix); // NOI18N Collection<CsmClassifier> defs = ns.getProject().findClassifiers(qn); ClassImpl.MemberForwardDeclaration out = null; for(CsmClassifier cls : defs) {
CsmNamespace ns = (CsmNamespace) object; CharSequence uniq = ns.getQualifiedName(); CsmProject project = ns.getProject(); if (project != null) { return new PersistentKey(uniq, project, NAMESPACE, false);
for (CsmNamespace ns : CsmUsingResolver.getDefault().findVisibleNamespaces(nmsp, file == null ? nmsp.getProject() : file.getProject())) { if (checkStopAfterAppendAllNamespaceElements(ns, name, exactMatch, searchNested, searchFirst, needFileLocal, file, contResolver, ret, merge, set, vasitedNamespaces)) { return true;
objPrj = objFile.getProject(); } else if (CsmKindUtilities.isNamespace(obj)) { objPrj = ((CsmNamespace) obj).getProject(); } else { printOut.println("not handled object " + obj); // NOI18N