@Override public CharSequence getCanonicalText() { return delegate.getCanonicalText(); }
@Override public CharSequence getCanonicalText() { return type.getCanonicalText(); }
@Override public CharSequence getCanonicalText() { return type.getCanonicalText(); }
@Override public CharSequence getCanonicalText() { return originalType.getCanonicalText(); }
@Override public CharSequence getName() { return NbBundle.getMessage(CsmCompletionQuery.class, "completion-template-based-object", lastType.getCanonicalText(), textAfterType); // NOI18N }
private static String getTypeStringRepresentation(CsmType desc) { return desc.getCanonicalText().toString(); }
public static boolean isSameType(CsmType type1, CsmType type2) { if (type1.equals(type2)) { return true; } else if (type2 != null) { return CharSequences.comparator().compare(type1.getCanonicalText(), type2.getCanonicalText()) == 0; } else { return false; } }
private static boolean equalTypes(CsmType t, CsmType mpt, boolean ignoreConstAndRef) { assert t != null; if (t.equals(mpt)) { return true; } else if (mpt != null) { String t1 = t.getCanonicalText().toString(); String canonicalText = mpt.getCanonicalText().toString().trim(); if (ignoreConstAndRef) { if (canonicalText.endsWith("&")) { //NOI18N canonicalText = canonicalText.substring(0, canonicalText.length()-1); } if (canonicalText.startsWith("const") && canonicalText.length() > 5 && Character.isWhitespace(canonicalText.charAt(5))) { //NOI18N canonicalText = canonicalText.substring(6); } } return t1.equals(canonicalText); } return false; }
/** * Checks if template conversions are not conflicting * @param function * @param conversions * @return true if there are no conflicts */ private static boolean checkTemplateAcceptable(CsmFunctional function, List<Conversion> conversions) { if (CsmKindUtilities.isTemplate(function)) { Map<String, String> map = new HashMap<String, String>(); for (Conversion conversion : conversions) { if (ConversionCategory.Template.equals(conversion.category)) { String paramCanonicalText = conversion.to.getCanonicalText().toString(); if (map.containsKey(paramCanonicalText)) { String valueText = conversion.from.getCanonicalText().toString(); if (!valueText.equals(map.get(paramCanonicalText))) { return false; } } else { map.put(paramCanonicalText, conversion.from.getCanonicalText().toString()); } } } } return true; }
@Override public CharSequence getQualifiedName() { return String.valueOf(getReturnType().getCanonicalText()) + getSignature(); // NOI18N }
private List<CsmType> getTypeList(CsmCompletionExpression item, int firstChildIdx) { int parmCnt = item.getParameterCount(); List<CsmType> typeList = new ArrayList<CsmType>(); if (parmCnt > firstChildIdx) { // will try to filter by parameters for (int i = firstChildIdx; i < parmCnt; i++) { CsmCompletionExpression parm = item.getParameter(i); CsmType typ = resolveType(parm); if(!((parmCnt - firstChildIdx) == 1 && typ != null && "void".equals(typ.getCanonicalText().toString()))) { // NOI18N typeList.add(typ); } } } return typeList; }
public static void appendParametersSignature(Collection<CsmParameter> params, StringBuilder sb) { sb.append('('); int limit = 0; for (Iterator<CsmParameter> iter = params.iterator(); iter.hasNext();) { if (limit >= PARAMETERS_LIMIT) { break; } limit++; CsmParameter param = iter.next(); CsmType type = param.getType(); if (type != null) { sb.append(type.getCanonicalText()); if (iter.hasNext()) { sb.append(','); } } else if (param.isVarArgs()) { sb.append("..."); // NOI18N } } sb.append(')'); }
/*package*/static CharSequence getCanonicalText(CsmType type) { CharSequence canonicalText = null; if (type instanceof CsmTemplateParameterType) { CsmTemplateParameterType parType = (CsmTemplateParameterType) type; CsmTemplateParameter par = parType.getParameter(); if (CsmKindUtilities.isClassifierBasedTemplateParameter(par)) { canonicalText = TemplateUtils.TYPENAME_STRING; } } if (canonicalText == null) { canonicalText = type.getCanonicalText(); } return canonicalText; }
@Override public String getReturnType() { if (CsmKindUtilities.isConstructor(decl) || CsmKindUtilities.isDestructor(decl)) { return null; } return ((CsmFunction)decl).getReturnType().getCanonicalText().toString(); } @Override
private static CharSequence getName(CsmInstantiation inst) { StringBuilder sb = new StringBuilder(inst.getTemplateDeclaration().getName()); sb.append("<"); // NOI18N Map<CsmTemplateParameter, CsmSpecializationParameter> mapping = inst.getMapping(); boolean first = true; for (CsmTemplateParameter param : mapping.keySet()) { CsmSpecializationParameter specParam = mapping.get(param); if(CsmKindUtilities.isTypeBasedSpecalizationParameter(specParam)) { if(!first) { sb.append(","); // NOI18N } CsmType type = ((CsmTypeBasedSpecializationParameter)specParam).getType(); sb.append(type.getCanonicalText()); first = false; } } sb.append(">"); // NOI18N return sb; }
private boolean isTypeEquals(CsmType type1, CsmType type2) { if (type1 != null && type2 != null) { CsmClassifier cls1 = type1.getClassifier(); if (CsmKindUtilities.isTypedef(cls1)) { CsmType aType = ((CsmTypedef) cls1).getType(); if (aType != null) { type1 = aType; } } CsmClassifier cls2 = type2.getClassifier(); if (CsmKindUtilities.isTypedef(cls2)) { CsmType aType = ((CsmTypedef) cls2).getType(); if (aType != null) { type2 = aType; } } String canonicalText1 = type1.getCanonicalText().toString().replace("const const", "const"); //NOI18N String canonicalText2 = type2.getCanonicalText().toString().replace("const const", "const"); //NOI18N return canonicalText1.equals(canonicalText2); } return false; }
private void ensureInitialized() { if (instParams == null || paramsTypes == null || paramsText == null) { this.instParams = new ArrayList<>(); this.paramsTypes = new ArrayList<>(); this.paramsText = new ArrayList<>(); for (Pair<CsmSpecializationParameter, List<CsmInstantiation>> pair : expandedParams) { CsmSpecializationParameter param = pair.first(); if (CsmKindUtilities.isTypeBasedSpecalizationParameter(param)) { CsmType paramType = ((CsmTypeBasedSpecializationParameter) param).getType(); if (CsmKindUtilities.isInstantiation(classifier)) { paramType = Instantiation.createType(paramType, pair.second()); } this.instParams.add(param); this.paramsTypes.add(paramType); CharSequence paramText = paramType.getCanonicalText(); this.paramsText.add(paramText != null ? paramText.toString() : ""); // NOI18N } else if (CsmKindUtilities.isExpressionBasedSpecalizationParameter(param)) { this.instParams.add(param); this.paramsTypes.add(null); CharSequence paramText = ((CsmExpressionBasedSpecializationParameter) param).getText(); this.paramsText.add(paramText != null ? paramText.toString() : ""); // NOI18N } } } }
CsmType type = var.getType(); if (type != null) { sb.append(type.getCanonicalText()); if (iter.hasNext()) { sb.append(',');
@Override public void initialize() { if (initialized) { return; } CsmFunction fun = ((CsmFunction) CsmRefactoringUtils.getReferencedElement(selectedElement)).getDeclaration(); functionObj = fun; returnType = functionObj.getReturnType().getCanonicalText().toString(); if (CsmKindUtilities.isMethod(functionObj)) { CsmMethod method = (CsmMethod)CsmBaseUtilities.getFunctionDeclaration(functionObj); setModifier(method.getVisibility()); } else { setModifier(CsmVisibility.NONE); } modifiersCombo.setEnabled(false); initTableData(); previewChange.setText(genDeclarationString()); initialized = true; }
@Override public CharSequence getSpecParamText(CsmSpecializationParameter param, CsmType paramType, List<CsmInstantiation> context) { if (CsmKindUtilities.isTypeBasedSpecalizationParameter(param)) { if (expandInstantiations) { return getTypeText(paramType, expandInstantiations, evaluateExpressions); } else { return paramType.getCanonicalText(); } } if (CsmKindUtilities.isExpressionBasedSpecalizationParameter(param)) { if (evaluateExpressions) { // TODO: support evaluate expressions return param.getText(); } else { return param.getText(); } } if (CsmKindUtilities.isVariadicSpecalizationParameter(param)) { // TODO: expand variadics return param.getText(); } return ""; // NOI18N } }