예제 #1
0
        public MethodArgumentValueSpec(int ArgumentPosition, string ArgumentName, IClrExpressionSpec ValueExpression)
        {
            this.ArgumentName    = ArgumentName;
            this.ValueExpression =
                ValueExpression == null
                ? none <IClrExpressionSpec>()
                : some(ValueExpression);

            this.ArgumentPosition = ArgumentPosition;
        }
예제 #2
0
파일: typespec.cs 프로젝트: 0xCM/Meta.Core
 /// <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);
예제 #3
0
 public static MethodArgumentValueSpec SpecifyArgumentValue(this ClrMethodParameterName ParameterName,
                                                            IClrExpressionSpec ValueExpression)
 => new MethodArgumentValueSpec(ParameterName, ValueExpression);
예제 #4
0
 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));
예제 #5
0
 public VariableDeclarationSpec(ClrVariableName name, IClrExpressionSpec inializer)
 {
     this.VariableName = name;
     this.Initializer  = Initializer;
 }
예제 #6
0
 public VariableDeclarationSpec(ClrVariableName name, ClrTypeReference type, IClrExpressionSpec inializer = null)
 {
     this.VariableName = name;
     this.VariableType = type;
     this.Initializer  = Initializer;
 }