/*package*/ String getBaseMethodDescription() { if (baseVirtualMethod != null) { //CsmVisibility vis = baseVirtualMethod.getVisibility(); String functionDisplayName = baseVirtualMethod.getSignature().toString(); String displayClassName = methodDeclaringSuperClass.getName().toString(); return getString("DSC_MethodUsages", functionDisplayName, displayClassName); // NOI18N } else { return name; } }
protected String getName() { return CsmKindUtilities.isTemplate(cls) ? ((CsmTemplate) cls).getDisplayName().toString() : cls.getName().toString(); }
/** * Returns the full name of the class: * for a top-level class it's just a class name, * for a nested class, it contain outer class name * (but in any case without a namespace) */ public static String getClassFullName(CsmClass cls) { StringBuilder sb = new StringBuilder(cls.getName()); CsmScope scope = cls.getScope(); while( scope != null && CsmKindUtilities.isClass(scope) ) { CsmClass outer = (CsmClass)scope; sb.insert(0, "::"); // NOI18N sb.insert(0, (outer).getName()); scope = outer.getScope(); } return sb.toString(); }
private static String createDisplayName(CsmFunction item, CsmClass parent, String operation) { StringBuilder displayName = new StringBuilder(); displayName.append(CsmDisplayUtilities.htmlize(parent.getName())); displayName.append("::"); //NOI18N displayName.append("<b>"); //NOI18N displayName.append(CsmDisplayUtilities.htmlize(((CsmFunction)item).getSignature())); displayName.append("</b>"); //NOI18N if (operation != null) { displayName.append(" - "); //NOI18N displayName.append(CsmDisplayUtilities.htmlize(operation)); } return displayName.toString(); //return CsmDisplayUtilities.addHTMLColor(displayName.toString(), // CsmFontColorManager.instance().getColorAttributes(MIMENames.CPLUSPLUS_MIME_TYPE, FontColorProvider.Entity.FUNCTION)); }
@Override public String getScopeName() { if (scopeName == null) { scopeName = ""; try { CsmFunction f = getDeclaration(); if (CsmKindUtilities.isClassMember(f)) { CsmClass cls = ((CsmMember) f).getContainingClass(); if (cls != null && cls.getName().length() > 0) { scopeName = cls.getName().toString()+"::"; // NOI18N } } } catch (AssertionError ex) { ex.printStackTrace(System.err); } catch (Exception ex) { ex.printStackTrace(System.err); } } return scopeName; }
private static String createDisplayName(CsmMember item, CsmClass parent, String operation) { StringBuilder displayName = new StringBuilder(); displayName.append("<b>"); //NOI18N if (item == null || CsmKindUtilities.isDestructor(item)) { displayName.append('~'); displayName.append(CsmDisplayUtilities.htmlize(parent.getName())); displayName.append("()"); //NOI18N } else { displayName.append(CsmDisplayUtilities.htmlize(((CsmFunction)item).getSignature())); } displayName.append("</b>"); //NOI18N if (operation != null) { displayName.append(" - "); //NOI18N displayName.append(CsmDisplayUtilities.htmlize(operation)); } return displayName.toString(); }
private String getTemplateType() { StringBuilder res = new StringBuilder(); res.append(parent.getName()); if (CsmKindUtilities.isTemplate(parent)) { final CsmTemplate template = (CsmTemplate)parent; List<CsmTemplateParameter> templateParameters = template.getTemplateParameters(); if (templateParameters.size() > 0) { res.append("<");//NOI18N boolean first = true; for(CsmTemplateParameter param : templateParameters) { if (!first) { res.append(", "); //NOI18N } first = false; res.append(param.getName()); } res.append(">");//NOI18N } } return res.toString(); }
private Collection<CsmFunction> getConstructors(CsmClass cls) { Collection<CsmFunction> out = new ArrayList<CsmFunction>(); CsmFilterBuilder filterBuilder = CsmSelect.getFilterBuilder(); CsmSelect.CsmFilter filter = filterBuilder.createCompoundFilter(CsmSelect.FUNCTION_KIND_FILTER, filterBuilder.createNameFilter(cls.getName(), true, true, false)); Iterator<CsmMember> classMembers = CsmSelect.getClassMembers(cls, filter); while (classMembers.hasNext()) { CsmMember csmMember = classMembers.next(); if (CsmKindUtilities.isConstructor(csmMember)) { out.add((CsmConstructor)csmMember); } } return out; }
public HierarchyNode(CsmClass element, Children children, HierarchyModel model, boolean recursion) { super(children); if (recursion) { setName(element.getName()+" "+getString("CTL_Recuesion")); // NOI18N } else { setName(element.getName().toString()); } object = element; this.model = model; uin = object.getUniqueName(); project = object.getContainingFile().getProject(); }
public static String createGetter(CsmField field, String gName, Kind kind) { StringBuilder out = new StringBuilder(); // type information is the first if (field.isStatic()) { out.append("static "); //NOI18N } if (kind == Kind.INLINE_DEFINITION_MAKRED_INLINE) { out.append("inline "); //NOI18N } out.append(field.getType().getText()).append(" "); //NOI18N // add name if (kind == Kind.EXTERNAL_DEFINITION) { // external definition needs class prefix out.append(field.getContainingClass().getName()).append("::"); // NOI18N } out.append(gName).append("() "); // NOI18N if (!field.isStatic()) { out.append("const "); // NOI18N } if (kind == Kind.DECLARATION) { out.append(";"); //NOI18N } else { out.append("{ ").append("return ").append(field.getName()).append(";}"); // NOI18N } return out.toString(); }
@SuppressWarnings("unchecked") public List<CsmClass> getBaseClasses(CsmClass clazz, CsmOffsetableDeclaration contextDeclaration, String strPrefix, boolean match) { assert (clazz != null); CsmVisibility minVisibility; if (contextDeclaration == null) { // we are in global context and are interested in all base classes minVisibility = CsmInheritanceUtilities.MAX_VISIBILITY; } else { minVisibility = CsmInheritanceUtilities.getContextVisibility(clazz, contextDeclaration, CsmVisibility.PUBLIC, true); } Map<CharSequence, CsmClass> set = getBaseClasses(clazz, contextDeclaration, strPrefix, match, new ClassifiersAntiLoop(), minVisibility, INIT_INHERITANCE_LEVEL); List<CsmClass> res; if (set != null && set.size() > 0) { res = new ArrayList<CsmClass>(set.values()); } else { res = new ArrayList<CsmClass>(); } if (CsmSortUtilities.matchName(clazz.getName(), strPrefix, true, true)) { // add current class as well res.add(0, clazz); } return res; }
public static Collection<CsmFunction> getConstructors(CsmClass cls) { Collection<CsmFunction> out = new ArrayList<CsmFunction>(); CsmFilterBuilder filterBuilder = CsmSelect.getFilterBuilder(); CsmSelect.CsmFilter filter = filterBuilder.createCompoundFilter( CsmSelect.FUNCTION_KIND_FILTER, filterBuilder.createNameFilter(cls.getName(), true, true, false)); Iterator<CsmMember> classMembers = CsmSelect.getClassMembers(cls, filter); while (classMembers.hasNext()) { CsmMember csmMember = classMembers.next(); if (CsmKindUtilities.isConstructor(csmMember)) { out.add((CsmConstructor) csmMember); } } return out; }
if (CsmKindUtilities.isClassMember(f)) { CsmClass cls = ((CsmMember) f).getContainingClass(); if (cls != null && cls.getName().length() > 0) { String name = CsmDisplayUtilities.htmlize(cls.getName().toString()); // NOI18N String in = NbBundle.getMessage(CallImpl.class, "LBL_inClass"); // NOI18N if (isVurtual()){ displayName ="<i>"+displayName+"</i>"; // NOI18N scopeName = cls.getName().toString()+"::"; // NOI18N return displayName + "<font color=\'!controlShadow\'> " + in + " " + name; // NOI18N
public static CsmOverrideMethodCompletionItem createImplementItem(int substitutionOffset, int caretOffset, CsmClass cls, CsmMember item) { String sortItemText; if (item == null || CsmKindUtilities.isDestructor(item)) { sortItemText = "~"+cls.getName(); //NOI18N } else { sortItemText = item.getName().toString(); } String appendItemText = createAppendText(item, cls); String rightText = createRightName(item); String coloredItemText; if (item == null || CsmKindUtilities.isDestructor(item)) { coloredItemText = createDisplayName(item, cls, NbBundle.getMessage(CsmOverrideMethodCompletionItem.class, "destructor.txt")); //NOI18N } else { coloredItemText = createDisplayName(item, cls, NbBundle.getMessage(CsmOverrideMethodCompletionItem.class, "override.txt")); //NOI18N } return new CsmOverrideMethodCompletionItem(item, substitutionOffset, PRIORITY, sortItemText, appendItemText, coloredItemText, true, rightText); }
private boolean initVirtual() { try { CsmFunction f = getDeclaration(); if (CsmKindUtilities.isClassMember(f)) { CsmClass cls = ((CsmMember) f).getContainingClass(); if (cls != null && cls.getName().length() > 0) { return CsmKindUtilities.isMethod(f) && CsmVirtualInfoQuery.getDefault().isVirtual((CsmMethod)f); } } } catch (AssertionError ex) { ex.printStackTrace(System.err); } catch (Exception ex) { ex.printStackTrace(System.err); } return false; }
void setClass(CsmClass decl, boolean setClose) { if (decl == null) { setName(NbBundle.getMessage(getClass(), "CTL_HierarchyTopComponent")); // NOI18N } else { setName(decl.getName()+" - "+NbBundle.getMessage(getClass(), "CTL_HierarchyTopComponent")); // NOI18N } setToolTipText(NbBundle.getMessage(getClass(), "HINT_TypeHierarchyTopComponent")); // NOI18N ClassHierarchyPanel panel; if (last instanceof ClassHierarchyPanel) { panel = (ClassHierarchyPanel) last; } else { removeAll(); panel = new ClassHierarchyPanel(true); add(panel, BorderLayout.CENTER); validate(); last = panel; } if (setClose) { panel.setClose(); } else { panel.clearClose(); } panel.setClass(decl); last.requestFocusInWindow(); }
private CsmObject resolveInClass(CsmClass cls, CharSequence name) { if(isNotNullNotUnresolved(cls)){ List<CsmClass> classesContainers = getClassesContainers(cls); for (CsmClass csmClass : classesContainers) { CsmClassifier classifier = null; if (csmClass.getName().equals(name)) { return csmClass; } CsmFilter filter = CsmSelect.getFilterBuilder().createNameFilter(name, true, true, false); Iterator<CsmMember> it = CsmSelect.getClassMembers(csmClass, filter); while (it.hasNext()) { CsmMember member = it.next(); if (CsmKindUtilities.isClassifier(member)) { classifier = (CsmClassifier) member; if (!CsmKindUtilities.isClassForwardDeclaration(classifier)) { return classifier; } } } if (classifier != null) { return classifier; } } } return null; }
CsmFile file = referencedClass.getContainingFile(); CsmProject project = file.getProject(); for (CsmInheritance inh : project.findInheritances(referencedClass.getName())){ CsmClassifier classifier = inh.getClassifier(); if (classifier != null) {