public MethodArgumentValueSpec(int ArgumentPosition, string ArgumentName, IClrExpressionSpec ValueExpression) { this.ArgumentName = ArgumentName; this.ValueExpression = ValueExpression == null ? none <IClrExpressionSpec>() : some(ValueExpression); this.ArgumentPosition = ArgumentPosition; }
/// <summary> /// Specifies a method argument value /// </summary> /// <param name="name">The name of the argument</param> /// <param name="value">The argument value</param> /// <param name="pos">The argument position</param> /// <returns></returns> public static MethodArgumentValueSpec argval(string name, IClrExpressionSpec value, int?pos = null) => new MethodArgumentValueSpec(name, value, pos);
public static MethodArgumentValueSpec SpecifyArgumentValue(this ClrMethodParameterName ParameterName, IClrExpressionSpec ValueExpression) => new MethodArgumentValueSpec(ParameterName, ValueExpression);
public static MethodArgumentValueSpec SpecifyArgumentValue(this MethodParameterSpec Parameter, IClrExpressionSpec ValueExpression) => Parameter.Position.MapValueOrElse( pos => new MethodArgumentValueSpec(pos, Parameter.Name, ValueExpression), () => new MethodArgumentValueSpec(Parameter.Name.SimpleName, ValueExpression));
public VariableDeclarationSpec(ClrVariableName name, IClrExpressionSpec inializer) { this.VariableName = name; this.Initializer = Initializer; }
public VariableDeclarationSpec(ClrVariableName name, ClrTypeReference type, IClrExpressionSpec inializer = null) { this.VariableName = name; this.VariableType = type; this.Initializer = Initializer; }