public MdaMethodParamImpl(MdaMethod parentMethod, int parameterIndex,
			string paramName, PropertiesNode tags, System.Type paramType)
            : base(paramName, tags)
        {
            this.parentMethod = parentMethod;
            // TOCHECK see parent constructor!
            this.parameterIndex = parameterIndex;
            this.paramName = paramName;
            this.paramType = paramType;
        }
 /// <summary>helper for applyMethExpr() + constExpr()</summary>
 public static MdaApplyMethodExpr indexedExpr(MdaExpr thisExpr, MdaMethod meth, object indexParam)
 {
     return new MdaApplyMethodExpr(thisExpr, meth, new MdaExpr[] { constExpr(indexParam) });
 }
 /// <summary>helper for applyMethExpr</summary>
 public static MdaApplyMethodExpr applyMethExpr2(MdaExpr thisExpr, MdaMethod meth, MdaExpr param0Expr, MdaExpr param1Expr)
 {
     return new MdaApplyMethodExpr(thisExpr, meth, new MdaExpr[] { param0Expr, param1Expr });
 }
 public static MdaApplyMethodExpr applyMethExpr(MdaExpr thisExpr, MdaMethod meth, MdaExpr[] paramsExpr)
 {
     return new MdaApplyMethodExpr(thisExpr, meth, paramsExpr);
 }
        public MdaApplyMethodExpr(MdaExpr thisExpr, MdaMethod
			 method, MdaExpr[] paramsExpr)
        {
            this.thisExpr = thisExpr;
            this.method = method;
            this.paramsExpr = paramsExpr;
        }
 /// <summary>package protected, to be called for init, from parent !</summary>
 public virtual void initParentData(MdaMethod parentMethod)
 {
     this.parentMethod = parentMethod;
 }