Пример #1
0
        public static object CALL(this IAccessValuesUsingVBScriptRules source, object context, object target, string member1, string member2, string member3)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            return(source.CALL(context, target, new[] { member1, member2, member3 }, ZeroArgumentArgumentProvider.WithoutEnforcedArgumentBrackets));
        }
Пример #2
0
        // This one allows for no arguments OR member accessors to be mentioned - this should only be used for errors cases (since, otherwise, a simple assignment
        // would be more appropriate, no SET call would be required at all). This may be used for the representation of "a = 1" where "a" is a function or a
        // constant, the translated output would be call to this function where the target to would actually be a call to RAISEERROR so that the valueToSet
        // may be evaluated and then a can-not-set-this error raised (consistent with how VBScript would handle it).
        public static void SET(this IAccessValuesUsingVBScriptRules source, object valueToSetTo, object context, object target)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            source.SET(valueToSetTo, context, target, null, ZeroArgumentArgumentProvider.WithoutEnforcedArgumentBrackets);
        }
        public DefaultArithmeticFunctionalityProvider(IAccessValuesUsingVBScriptRules valueRetriever)
        {
            if (valueRetriever == null)
            {
                throw new ArgumentNullException("valueRetriever");
            }

            _valueRetriever = valueRetriever;
        }
Пример #4
0
        public DefaultCallArgumentProvider(IAccessValuesUsingVBScriptRules vbscriptValueAccessor)
        {
            if (vbscriptValueAccessor == null)
            {
                throw new ArgumentNullException("vbscriptValueAccessor");
            }

            _vbscriptValueAccessor          = vbscriptValueAccessor;
            _valuesWithUpdatesWhereRequired = new List <Tuple <object, Action <object> > >();
            _useBracketsWhereZeroArguments  = false;
        }
Пример #5
0
        public static void SET(this IAccessValuesUsingVBScriptRules source, object valueToSetTo, object context, object target, string optionalMemberAccessor, IBuildCallArgumentProviders argumentProviderBuilder)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (argumentProviderBuilder == null)
            {
                throw new ArgumentNullException("argumentProviderBuilder");
            }

            source.SET(valueToSetTo, context, target, optionalMemberAccessor, argumentProviderBuilder.GetArgs());
        }
Пример #6
0
        public static object CALL(this IAccessValuesUsingVBScriptRules source, object context, object target, string member1, string member2, string member3, string member4, string member5, IBuildCallArgumentProviders argumentProviderBuilder)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (argumentProviderBuilder == null)
            {
                throw new ArgumentNullException("argumentProviderBuilder");
            }

            return(source.CALL(context, target, new[] { member1, member2, member3, member4, member5 }, argumentProviderBuilder.GetArgs()));
        }
Пример #7
0
        // Convenience methods so that the calling code can omit the "GetArgs" call if an IBuildCallArgumentProviders is already available (results in shorter
        // translated code)
        public static object CALL(this IAccessValuesUsingVBScriptRules source, object context, object target, IEnumerable <string> members, IBuildCallArgumentProviders argumentProviderBuilder)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (argumentProviderBuilder == null)
            {
                throw new ArgumentNullException("argumentProviderBuilder");
            }

            return(source.CALL(context, target, members, argumentProviderBuilder.GetArgs()));
        }