Beispiel #1
0
        /// <summary>
        /// Creates a property access expression.
        /// </summary>
        public static IPropertyAccessExpression PropertyAccess(ILeftHandSideExpression first, string second)
        {
            Contract.Requires(first != null);
            Contract.Requires(!string.IsNullOrEmpty(second));

            return(new PropertyAccessExpression(first, second));
        }
Beispiel #2
0
        /// <summary>
        /// Creates a call expression.
        /// NOTE: Preprocesses arguments to remove trailing nulls and replace non-trailing nulls with 'undefined' identifier.
        /// </summary>
        public static ICallExpression Call(ILeftHandSideExpression methodReference, params IExpression[] arguments)
        {
            var  argumentsList      = arguments.ToList();
            bool encounteredNonNull = false;

            for (int i = argumentsList.Count - 1; i >= 0; i--)
            {
                if (argumentsList[i] == null)
                {
                    if (encounteredNonNull)
                    {
                        argumentsList[i] = Undefined();
                    }
                    else
                    {
                        argumentsList.RemoveAt(i);
                    }
                }
                else
                {
                    encounteredNonNull = true;
                }
            }

            return(new CallExpression(methodReference, argumentsList));
        }
Beispiel #3
0
 public IExpression MakePostfixDecrement(ILeftHandSideExpression expression)
 {
   return MakePostfixIncrementDecrement((Expression)expression, false);
 }
Beispiel #4
0
 public IExpression MakePostfixDecrement(ILeftHandSideExpression expression)
 {
     return(MakePostfixIncrementDecrement((Expression)expression, false));
 }
Beispiel #5
0
 public static ILeftHandSideExpression Claim(this ILeftHandSideExpression lhs, Expression <Func <Claim> > alias, params Expression <Func <Claim, bool> >[] conditions)
 {
     return(lhs.Match(alias, conditions));
 }
Beispiel #6
0
 public static ILeftHandSideExpression Insured(this ILeftHandSideExpression lhs, params Expression <Func <Insured, bool> >[] conditions)
 {
     return(lhs.Match(conditions));
 }
Beispiel #7
0
 public static ILeftHandSideExpression Patient(this ILeftHandSideExpression lhs, params Expression <Func <Patient, bool> >[] conditions)
 {
     return(lhs.Match(conditions));
 }