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)); }
// 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; }
public DefaultCallArgumentProvider(IAccessValuesUsingVBScriptRules vbscriptValueAccessor) { if (vbscriptValueAccessor == null) { throw new ArgumentNullException("vbscriptValueAccessor"); } _vbscriptValueAccessor = vbscriptValueAccessor; _valuesWithUpdatesWhereRequired = new List <Tuple <object, Action <object> > >(); _useBracketsWhereZeroArguments = false; }
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()); }
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())); }
// 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())); }