private void ParseOptionArguments(OptionNode optionNode) { var argument = optionNode.Option.Argument; var contiguousTokens = 0; var continueProcessing = true; while (More() && CurrentToken.Type == TokenType.Argument && continueProcessing) { if (IsFull(argument)) { if (contiguousTokens > 0) { return; } if (argument.Arity.MaximumNumberOfValues == 0) { return; } } else if (argument.ValueType == typeof(bool)) { if (ArgumentConverter.ConvertObject( argument, argument.ValueType, CurrentToken.Value, _configuration.Resources) is FailedArgumentTypeConversionResult) { return; } } optionNode.AddChildNode( new OptionArgumentNode( CurrentToken, argument, optionNode)); IncrementCount(argument); contiguousTokens++; Advance(); continueProcessing = optionNode.Option.AllowMultipleArgumentsPerToken; } }
private void ParseOptionArguments(OptionNode optionNode) { var argument = optionNode.Option.Argument; var contiguousTokens = 0; while (More() && CurrentToken.Type == TokenType.Argument) { if (IsFull(argument)) { if (contiguousTokens > 0) { return; } if (argument.Arity.MaximumNumberOfValues == 0) { return; } } else if (argument.Type == typeof(bool)) { if (ArgumentConverter.ConvertObject( argument, argument.Type, CurrentToken.Value) is FailedArgumentTypeConversionResult) { return; } } optionNode.AddChildNode( new OptionArgumentNode( CurrentToken, argument, optionNode)); IncrementCount(argument); contiguousTokens++; Advance(); } }