@Override public CsmType[] extract(CsmType type) { CsmFunctionPointerType funPtrType = tryGetFunctionPointerType(type); if (funPtrType != null) { Collection<CsmParameter> params = funPtrType.getParameters(); if (params != null && index < params.size()) { int current = 0; Iterator<CsmParameter> paramsIter = params.iterator(); while (index != current) { paramsIter.next(); ++current; } CsmParameter param = paramsIter.next(); return new CsmType[]{param.getType()}; } } return null; }
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(')'); }
@Override public CharSequence getDisplayText() { return declaration.getDisplayText(); }
private static void addSignature(CsmFunction item, StringBuilder sb) { //sb.append(item.getSignature()); sb.append(item.getName()); //sb.append(parameterList.getText()); sb.append('('); //NOI18N boolean first = true; for(CsmParameter param : ((CsmFunction)item).getParameterList().getParameters()) { if (!first) { sb.append(','); //NOI18N sb.append(' '); //NOI18N } first = false; if (param.isVarArgs()) { sb.append("..."); // NOI18N } else { CsmType type = param.getType(); if (type != null) { sb.append(type.getText()); sb.append(' '); sb.append(param.getName()); } } } sb.append(')'); //NOI18N if(CsmKindUtilities.isMethod(item) && ((CsmMethod)item).isConst()) { sb.append(" const"); // NOI18N } }
continue; CsmType type = prm.getType(); String paramValue = (prm.getInitialValue() != null) ? " = " + prm.getInitialValue().getText().toString() : ""; // NOI18N if (type == null) { assert (prm.isVarArgs()) : " non var arg " + prm + " of class " + prm.getClass().getName(); params.add(new ParamStr("", "", prm.getName().toString(), prm.getText().toString() + paramValue, true, LFCustoms.shiftColor(KEYWORD_COLOR))); //NOI18N varArgIndex = i; } else { String typeName = getTypeName(type, instantiateTypes); params.add(new ParamStr(typeName, typeName, prm.getName().toString(), prm.getText().toString() + paramValue, false, LFCustoms.getTextFgColor() /*getTypeColor(type.getClassifier())*/));
sb.append(par.getDisplayText()); } else { CsmType type = par.getType(); if (type != null) { sb.append(type.getText()); } else if (par.isVarArgs()) { sb.append("..."); // NOI18N
int minParamLenght = 0; for (CsmParameter parameter : methodParms) { if(parameter.getInitialValue() == null) { minParamLenght++; continue; CsmType mpt = methodParms[j].getType(); CsmType t = (CsmType) parmTypeList.get(j); if (t != null) { if (!methodParms[j].isVarArgs() && !equalTypes(t, mpt, ignoreConstAndRef)) { bestMatch = false; if (!isAssignable(t, mpt)) { if (methodParms[j].isVarArgs()) { bestMatch = false;
int minParamLenght = 0; for (CsmParameter parameter : methodParams) { if (parameter.getInitialValue() == null) { minParamLenght++; CsmType methodParamType = methodParams[j].getType(); CsmType paramType = (CsmType) paramTypes.get(j); if (paramType != null && methodParamType != null) {
@Override public boolean isVarArgs() { return declaration.isVarArgs(); } }
@Override public CsmExpression getInitialValue() { return declaration.getInitialValue(); }
while(params.hasNext()) { CsmParameter param = params.next(); txt.append(param.getText()); if (params.hasNext()) { txt.append(", "); // NOI18N
@Override public CharSequence getDeclarationText() { return declaration.getDeclarationText(); }
CsmParameter param = CsmOffsetUtilities.findObject(params, context, offset); if (param != null && !CsmOffsetUtilities.sameOffsets(fun, param)) { CsmType type = param.getType(); if (CsmOffsetUtilities.isInObject(type, offset)) { context.setLastObject(type); if (findInExpression(param.getInitialValue(), param, offset, context, innerObj)) { return innerObj.value; CsmParameter param = CsmOffsetUtilities.findObject(params, context, offset); if (param != null && !CsmOffsetUtilities.sameOffsets(fun, param)) { CsmType type = param.getType(); if (CsmOffsetUtilities.isInObject(type, offset)) { context.setLastObject(type);
@Override public boolean isCatchAll() { CsmParameter aParameter = getParameter(); return aParameter == null || aParameter.isVarArgs(); }
typeList.add(par.getType()); CsmFile containingFile = currentMethod.getContainingFile(); for (CsmParameter par: currentMethod.getParameters()) { CsmType desc = par.getType(); String typeRepresentation; if (par.isVarArgs() && originalIndex == pars.size()-1) { typeRepresentation = "..."; // NOI18N } else { Object[] parRep = new Object[] { par.getName().toString(), typeRepresentation, "", Integer.valueOf(originalIndex), removable }; model.addRow(parRep); } else {
private boolean isCopyConstructor(CsmClass cls, CsmConstructor constructor) { Collection<CsmParameter> parameters = constructor.getParameters(); if (parameters.size() == 1) { CsmParameter p = parameters.iterator().next(); CsmType paramType = p.getType(); if (paramType.isReference()) { if (cls.equals(paramType.getClassifier())) { return true; } } } return false; } }