@Override public boolean hasFormalParameterDefaultValue(int position) { final XtendParameter parameter = this.parameters.get(position); if (parameter instanceof SarlFormalParameter) { return ((SarlFormalParameter) parameter).getDefaultValue() != null; } return false; }
/** Change the type. * * @param type the formal parameter type. */ public void setParameterType(String type) { String typeName; if (Strings.isEmpty(type)) { typeName = Object.class.getName(); } else { typeName = type; } this.parameter.setParameterType(newTypeRef(this.context, typeName)); }
/** Change the variadic property of the parameter. * * @param isVariadic indicates if the parameter is variadic. */ public void setVarArg(boolean isVariadic) { this.parameter.setVarArg(isVariadic); }
final XExpression defaultValue = param.getDefaultValue(); if (defaultValue != null) { final JvmTypeReference rawType = param.getParameterType(); assert rawType != null; final LightweightTypeReference toType = toLightweightTypeReference(rawType, true); error(MessageFormat.format( Messages.SARLValidator_20, param.getName()), param, XtendPackage.Literals.XTEND_PARAMETER__PARAMETER_TYPE, error(MessageFormat.format( Messages.SARLValidator_21, param.getName()), param, SARL_FORMAL_PARAMETER__DEFAULT_VALUE,
/** Initialize the formal parameter. * @param context the context of the formal parameter. * @param name the name of the formal parameter. */ public void eInit(XtendExecutable context, String name, IJvmTypeProvider typeContext) { setTypeResolutionContext(typeContext); this.context = context; this.parameter = SarlFactory.eINSTANCE.createSarlFormalParameter(); this.parameter.setName(name); this.parameter.setParameterType(newTypeRef(this.context, Object.class.getName())); this.context.getParameters().add(this.parameter); }
/** Replies the resource to which the formal parameter is attached. */ @Pure public Resource eResource() { return getSarlFormalParameter().eResource(); }
@Override public ActionParameterTypes createParameterTypesFromSarlModel(boolean isVarargs, List<? extends SarlFormalParameter> parameters) { final ActionParameterTypes sig = new ActionParameterTypes(isVarargs, parameters.size()); if (!parameters.isEmpty()) { final int lastIndex = parameters.size() - 1; for (int i = 0; i < lastIndex; ++i) { final SarlFormalParameter param = parameters.get(i); if (param != null && param.getParameterType() != null) { sig.add(param.getParameterType().getIdentifier()); } } final SarlFormalParameter param = parameters.get(lastIndex); if (param != null && param.getParameterType() != null) { JvmTypeReference type = param.getParameterType(); if (isVarargs) { type = this.references.createArrayType(type); } sig.add(type.getIdentifier()); } } return sig; }
/** Check if the given parameter has a valid name. * * @param parameter the parameter to test. * @see SARLFeatureNameValidator */ @Check(CheckType.FAST) public void checkParameterName(SarlFormalParameter parameter) { if (this.grammarAccess.getOccurrenceKeyword().equals(parameter.getName())) { error(MessageFormat.format( Messages.SARLValidator_14, this.grammarAccess.getOccurrenceKeyword()), parameter, XtendPackage.Literals.XTEND_PARAMETER__NAME, ValidationMessageAcceptor.INSIGNIFICANT_INDEX, VARIABLE_NAME_DISALLOWED); } }
/** Replies the resource to which the formal parameter is attached. */ @Pure public Resource eResource() { return getSarlFormalParameter().eResource(); }
@Override public XExpression getFormalParameterDefaultValue(int position) { final XtendParameter parameter = this.parameters.get(position); if (parameter instanceof SarlFormalParameter) { return ((SarlFormalParameter) parameter).getDefaultValue(); } return null; }
private static void addParamToSignature(StringBuilder signature, XtendParameter parameter, SARLGrammarKeywordAccess grammarAccess, ImportManager importManager, ISerializer serializer) { signature.append(parameter.getName()); signature.append(' '); signature.append(grammarAccess.getColonKeyword()); signature.append(' '); signature.append(getSignatureType(parameter.getParameterType().getType(), importManager)); if (parameter.isVarArg()) { signature.append(grammarAccess.getWildcardAsteriskKeyword()); } else if (parameter instanceof SarlFormalParameter) { final SarlFormalParameter sarlParameter = (SarlFormalParameter) parameter; if (sarlParameter.getDefaultValue() != null) { signature.append(' '); signature.append(grammarAccess.getEqualsSignKeyword()); signature.append(' '); signature.append(serializer.serialize(sarlParameter.getDefaultValue()).trim()); } } }
final XExpression defaultValue = param.getDefaultValue(); if (defaultValue != null) { final Iterator<XFeatureCall> iter;
&& ((SarlFormalParameter) param).getDefaultValue() != null) { final XExpression defaultValue = ((SarlFormalParameter) param).getDefaultValue(); assert defaultValue != null; hasDefaultValue = true;
generate(((SarlFormalParameter) valuedParameter.getParameter()).getDefaultValue(), null, it, context); } else { it.append(parameter.getName());