@Override public List<CsmTemplateParameter> getTemplateParameters() { return ((CsmTemplate)declaration).getTemplateParameters(); }
@Override public List<CsmTemplateParameter> getTemplateParameters() { return ((CsmTemplate)declaration).getTemplateParameters(); }
@Override public List<CsmTemplateParameter> getTemplateParameters() { return ((CsmTemplate)declaration).getTemplateParameters(); }
private int calcTemplateScore(CsmTemplate template, List<Conversion> conversions) { int score = 0; for (Conversion conversion : conversions) { score += conversion.templateScore; } return score - template.getTemplateParameters().size(); } }
private static boolean hasVariadicParams(CsmTemplate template) { if (template != null && template.getTemplateParameters() != null) { for (CsmTemplateParameter param : template.getTemplateParameters()) { if (param.isVarArgs()) { return true; } } } return false; }
private String getTemplatePrefix(String prefix) { StringBuilder res = new StringBuilder(); if (CsmKindUtilities.isTemplate(parent)) { final CsmTemplate template = (CsmTemplate)parent; List<CsmTemplateParameter> templateParameters = template.getTemplateParameters(); if (templateParameters.size() > 0) { res.append("template<");//NOI18N boolean first = true; for(CsmTemplateParameter param : templateParameters) { if (!first) { res.append(", "); //NOI18N } first = false; res.append(param.getName()); } res.append(">");//NOI18N res.append('\n');//NOI18N } } res.append(prefix); return res.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 static boolean isExpressionParameter(CsmClassifier cls, CsmSpecializationParameter specParam, int specParamIndex) { if (CsmKindUtilities.isExpressionBasedSpecalizationParameter(specParam)) { return true; } if (CsmKindUtilities.isTemplate(cls)) { List<CsmTemplateParameter> templateParams = ((CsmTemplate) cls).getTemplateParameters(); if (templateParams != null && templateParams.size() > specParamIndex) { CsmTemplateParameter param = templateParams.get(specParamIndex); if (param != null && !param.isTypeBased()) { return true; } } } return false; }
@Override public CharSequence getTemplateSignature(CsmTemplate template) { long time = System.currentTimeMillis(); LOG.log(Level.FINEST, "getTemplateSignature {0}\n", new Object[]{template});// NOI18N StringBuilder sb = new StringBuilder(); if (CsmKindUtilities.isQualified(template)) { sb.append(((CsmQualifiedNamedElement)template).getQualifiedName()); } else if (CsmKindUtilities.isNamedElement(template)) { sb.append(((CsmNamedElement)template).getName()); } else { System.err.println("uknown template object " + template); } appendTemplateParamsSignature(template.getTemplateParameters(), sb); if (LOG.isLoggable(Level.FINE)) { time = System.currentTimeMillis() - time; LOG.log(Level.FINE, "getTemplateSignature took {0}ms\n", new Object[]{time}); // NOI18N } return sb; }
private static void addTemplate(CsmFunction item, CsmClass parent, StringBuilder sb) { if (CsmKindUtilities.isTemplate(parent)) { final CsmTemplate template = (CsmTemplate)parent; List<CsmTemplateParameter> templateParameters = template.getTemplateParameters(); if (templateParameters.size() > 0) { sb.append("template<");//NOI18N if (CsmKindUtilities.isTemplate(item)) { final CsmTemplate template = (CsmTemplate)item; List<CsmTemplateParameter> templateParameters = template.getTemplateParameters(); if (templateParameters.size() > 0) { sb.append("template<");//NOI18N
public InstantiationParametersInfoImpl(CsmClassifier classifier, List<Pair<CsmSpecializationParameter, List<CsmInstantiation>>> originalParams) { this.classifier = classifier; this.originalParams = originalParams; if (CsmKindUtilities.isTemplate(classifier)) { List<CsmTemplateParameter> templateParams = ((CsmTemplate) classifier).getTemplateParameters(); if (!templateParams.isEmpty() && templateParams.get(templateParams.size() - 1).isVarArgs()) { this.variadic = true; } else { this.variadic = false; } } else { this.variadic = false; } if (hasVariadicParameters(originalParams)) { this.expandedParams = expandVariadicParameters(originalParams); } else { this.expandedParams = this.originalParams; } }
private void getTemplateParameters(CsmTemplate template, String strPrefix, boolean match, Collection<CsmTemplateParameter> out) { for (CsmTemplateParameter elem : template.getTemplateParameters()) { if (CsmSortUtilities.matchName(elem.getName(), strPrefix, match, caseSensitive)) { out.add(elem); } if (CsmKindUtilities.isTemplate(elem)) { getTemplateParameters((CsmTemplate) elem, strPrefix, match, out); } } }
sb.append("class"); // NOI18N // Name of parameter does not matter if (CsmKindUtilities.isTemplate(param)) { appendTemplateParamsSignature(((CsmTemplate) classifier).getTemplateParameters(), sb);
List<CsmTemplateParameter> templateParams = template.getTemplateParameters();
for (CsmTemplateParameter templateParam : template.getTemplateParameters()) { int paramIndex = 0; Collection<CsmParameter> funParams = function.getParameters();
private CsmSpecializationParameter getTemplateParameterDefultValue(CsmTemplate declaration, CsmTemplateParameter param, int index) { CsmSpecializationParameter res = param.getDefaultValue(); if (res != null) { return res; } if (CsmKindUtilities.isClass(declaration)) { CsmClass cls = (CsmClass) declaration; CsmClassForwardDeclaration fdecl; fdecl = findCsmClassForwardDeclaration(cls.getContainingFile(), cls); if (fdecl != null) { List<CsmTemplateParameter> templateParameters = ((CsmTemplate) fdecl).getTemplateParameters(); if (templateParameters.size() > index) { CsmTemplateParameter p = templateParameters.get(index); if (p != null) { res = p.getDefaultValue(); if (res != null) { return res; } } } } } return res; }
sb.append(item.getName()); if (CsmKindUtilities.isTemplate(item)) { List<CsmTemplateParameter> templateParameters = ((CsmTemplate)item).getTemplateParameters();
if (CsmKindUtilities.isTemplate(parent)) { final CsmTemplate template = (CsmTemplate)parent; List<CsmTemplateParameter> templateParameters = template.getTemplateParameters(); if (templateParameters.size() > 0) { appendItemText.append("<");//NOI18N
if (isInstantiation() && CsmKindUtilities.isTemplate(classifier) && !((CsmTemplate)classifier).getTemplateParameters().isEmpty()) { CsmInstantiationProvider ip = CsmInstantiationProvider.getDefault(); CsmObject obj= null;
CsmType paramType = checkTemplateType(type, ((CsmTemplate)scope).getTemplateParameters()); if (paramType != type) { return paramType;