private static ArgumentDisplay GetArgumentsForDisplay(IPositionalArgument arg) { var names = new List <string>(); if (arg.MetaVar != null) { names.Add(arg.MetaVar); } return(GetArgumentsForDisplay(names, arg)); }
private void HandlePositional(string arg) { this.CheckThatThereIsAPositionalArgumentPending(); IPositionalArgument positionalArgument = this.positionalArguments.Dequeue(); positionalArgument.Handle(arg); this.required.Remove(positionalArgument); }
/// <summary> /// Compares two positional arguments. /// </summary> /// <param name="argument1">The first argument.</param> /// <param name="argument2">The second argument.</param> public static bool IsPositionalArgumentEqual(IPositionalArgument argument1, IPositionalArgument argument2) { if (argument1 == null) { throw new ArgumentNullException(nameof(argument1)); } if (argument2 == null) { throw new ArgumentNullException(nameof(argument2)); } bool Result = true; Result &= Expression.IsExpressionEqual((IExpression)argument1.Source, (IExpression)argument2.Source); return(Result); }
private static bool ValidatePositionalStyle(IList <IArgument> argumentList, List <IExpressionType> mergedArgumentList, IErrorList errorList) { for (int i = 0; i < argumentList.Count; i++) { IPositionalArgument Argument = argumentList[i] as IPositionalArgument; Debug.Assert(Argument != null); IExpression Source = (IExpression)Argument.Source; for (int j = 0; j < Argument.ResolvedResult.Item.Count; j++) { IExpressionType Item = Argument.ResolvedResult.Item.At(j); Item.SetSource(Source, j); mergedArgumentList.Add(Item); } } return(true); }
/// <summary> /// Initializes a new instance of the <see cref="CSharpPositionalArgument"/> class. /// </summary> /// <param name="context">The creation context.</param> /// <param name="source">The Easly argument from which the C# argument is created.</param> protected CSharpPositionalArgument(ICSharpContext context, IPositionalArgument source) : base(context, source) { IExpression ArgumentSource = (IExpression)source.Source; SourceExpression = CSharpExpression.Create(context, ArgumentSource); }
/// <summary> /// Creates a new C# argument. /// </summary> /// <param name="context">The creation context.</param> /// <param name="source">The Easly argument from which the C# argument is created.</param> public static ICSharpPositionalArgument Create(ICSharpContext context, IPositionalArgument source) { return new CSharpPositionalArgument(context, source); }