private Action createOpenAction() { CsmNamespace ns = getNamespace(); if (ns != null){ Collection<? extends CsmOffsetableDeclaration> arr = ns.getDefinitions(); if (arr.size() > 0) { return new GoToDeclarationAction(arr.iterator().next()); } } return null; }
@Override public Action[] getActions(boolean context) { Action action = createOpenAction(); if (action != null){ CsmNamespace ns = getNamespace(); Collection<? extends CsmOffsetableDeclaration> arr = ns.getDefinitions(); if (arr.size() > 1){ Action more = new MoreDeclarations(arr); return new Action[] { action, more }; } return new Action[] { action }; } return new Action[0]; } }
public static CharSequence getNamespaceDisplayName(CsmNamespace ns){ CharSequence displayName = ns.getName(); if (displayName.length() == 0) { Collection<CsmNamespaceDefinition> definitions = ns.getDefinitions(); CharSequence fileName = null; if (definitions.size() == 1) { CsmNamespaceDefinition def = definitions.iterator().next(); CsmScope file = def.getScope(); if (file instanceof CsmFile) { fileName = ((CsmFile)file).getName(); } } displayName = ns.getQualifiedName(); int scope = CharSequenceUtils.lastIndexOf(displayName, "::"); // NOI18N if (scope != -1) { displayName = displayName.subSequence(scope + 2, displayName.length()); } int start = CharSequenceUtils.indexOf(displayName, '<'); int end = CharSequenceUtils.indexOf(displayName, '>'); if (start >=0 && end >= 0 && start < end && fileName != null) { CharSequence name = displayName.subSequence(start+1, end); displayName = name+" ("+fileName+")"; // NOI18N } else { if (CharSequenceUtils.indexOf(displayName, '<') >=0 || CharSequenceUtils.indexOf(displayName, '>') >=0) { // NOI18N displayName = displayName.toString().replace('<', ' ').replace('>', ' '); // NOI18N } } } return NameCache.getManager().getString(displayName); }
objPrj = ns.getProject(); for (CsmNamespaceDefinition nsDef : ns.getDefinitions()) { CsmFile defFile = nsDef.getContainingFile(); if (file.equals(defFile)) { for (CsmNamespaceDefinition nsDef : ns.getDefinitions()) { CsmFile defFile = nsDef.getContainingFile(); CsmInclude curIncl = findFirstLevelInclude(file, defFile);
Collection<CsmNamespaceDefinition> defs = nmsp.getDefinitions(); CsmNamespaceDefinition bestDef = null; for (CsmNamespaceDefinition def : defs) {