Skip to content

Commit

Permalink
multi parser
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianaisemberg committed Oct 28, 2011
1 parent ac2b522 commit b9f7451
Show file tree
Hide file tree
Showing 20 changed files with 77 additions and 1,345 deletions.
4 changes: 3 additions & 1 deletion CLAP/CLAP.csproj
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -88,12 +88,13 @@
<Compile Include="Interception\VerbExecutionContext.cs" /> <Compile Include="Interception\VerbExecutionContext.cs" />
<Compile Include="Interception\VerbInterception.cs" /> <Compile Include="Interception\VerbInterception.cs" />
<Compile Include="Method.cs" /> <Compile Include="Method.cs" />
<Compile Include="MultiParser.cs" />
<Compile Include="Parameter.cs" /> <Compile Include="Parameter.cs" />
<Compile Include="ParameterAttribute.cs" /> <Compile Include="ParameterAttribute.cs" />
<Compile Include="ParametersExpressionValidator.cs" /> <Compile Include="ParametersExpressionValidator.cs" />
<Compile Include="Parser.cs" /> <Compile Include="Parser.cs" />
<Compile Include="IValidation.cs" /> <Compile Include="IValidation.cs" />
<Compile Include="ParserBase.cs" /> <Compile Include="ParserRunner.cs" />
<Compile Include="ParserRegistration.cs" /> <Compile Include="ParserRegistration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Serialization.cs" /> <Compile Include="Serialization.cs" />
Expand All @@ -112,6 +113,7 @@
<Compile Include="Validation\Regex.cs" /> <Compile Include="Validation\Regex.cs" />
<Compile Include="Validation\ValidateAttribute.cs" /> <Compile Include="Validation\ValidateAttribute.cs" />
<Compile Include="ValueInfo.cs" /> <Compile Include="ValueInfo.cs" />
<Compile Include="ValuesFactory.cs" />
<Compile Include="VerbAttribute.cs" /> <Compile Include="VerbAttribute.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
Expand Down
90 changes: 56 additions & 34 deletions CLAP/Exceptions.cs
Original file line number Original file line Diff line number Diff line change
@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection;


namespace CLAP namespace CLAP
{ {
Expand All @@ -10,8 +11,8 @@ public CommandLineException() { }
public CommandLineException(string message) : base(message) { } public CommandLineException(string message) : base(message) { }
public CommandLineException(string message, Exception inner) : base(message, inner) { } public CommandLineException(string message, Exception inner) : base(message, inner) { }
protected CommandLineException( protected CommandLineException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -22,8 +23,8 @@ public ParserException() { }
public ParserException(string message) : base(message) { } public ParserException(string message) : base(message) { }
public ParserException(string message, Exception inner) : base(message, inner) { } public ParserException(string message, Exception inner) : base(message, inner) { }
protected ParserException( protected ParserException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -37,8 +38,8 @@ public MissingDefaultVerbException()
public MissingDefaultVerbException(string message) : base(message) { } public MissingDefaultVerbException(string message) : base(message) { }
public MissingDefaultVerbException(string message, Exception inner) : base(message, inner) { } public MissingDefaultVerbException(string message, Exception inner) : base(message, inner) { }
protected MissingDefaultVerbException( protected MissingDefaultVerbException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -55,8 +56,8 @@ public MissingVerbException(string verb)


public MissingVerbException(string message, Exception inner) : base(message, inner) { } public MissingVerbException(string message, Exception inner) : base(message, inner) { }
protected MissingVerbException( protected MissingVerbException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -75,8 +76,8 @@ public MissingRequiredArgumentException(string verb, string parameter)


public MissingRequiredArgumentException(string message, Exception inner) : base(message, inner) { } public MissingRequiredArgumentException(string message, Exception inner) : base(message, inner) { }
protected MissingRequiredArgumentException( protected MissingRequiredArgumentException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -93,8 +94,8 @@ public MissingArgumentValueException(string parameter)


public MissingArgumentValueException(string message, Exception inner) : base(message, inner) { } public MissingArgumentValueException(string message, Exception inner) : base(message, inner) { }
protected MissingArgumentValueException( protected MissingArgumentValueException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -111,8 +112,8 @@ public MissingArgumentPrefixException(string parameter, string prefixes)


public MissingArgumentPrefixException(string message, Exception inner) : base(message, inner) { } public MissingArgumentPrefixException(string message, Exception inner) : base(message, inner) { }
protected MissingArgumentPrefixException( protected MissingArgumentPrefixException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -122,8 +123,8 @@ public class ValidationException : CommandLineException
public ValidationException(string message) : base(message) { } public ValidationException(string message) : base(message) { }
public ValidationException(string message, Exception inner) : base(message, inner) { } public ValidationException(string message, Exception inner) : base(message, inner) { }
protected ValidationException( protected ValidationException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -141,8 +142,8 @@ public TypeConvertionException(string value, Type type, Exception inner)
} }


protected TypeConvertionException( protected TypeConvertionException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -155,8 +156,8 @@ public MoreThanOneEmptyHandlerException()
} }


protected MoreThanOneEmptyHandlerException( protected MoreThanOneEmptyHandlerException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -169,8 +170,8 @@ public MoreThanOneErrorHandlerException()
} }


protected MoreThanOneErrorHandlerException( protected MoreThanOneErrorHandlerException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -183,8 +184,8 @@ public MoreThanOnePreVerbInterceptorException()
} }


protected MoreThanOnePreVerbInterceptorException( protected MoreThanOnePreVerbInterceptorException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -197,8 +198,8 @@ public MoreThanOnePostVerbInterceptorException()
} }


protected MoreThanOnePostVerbInterceptorException( protected MoreThanOnePostVerbInterceptorException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -209,8 +210,8 @@ public ArgumentMismatchException() { }
public ArgumentMismatchException(string message) : base(message) { } public ArgumentMismatchException(string message) : base(message) { }
public ArgumentMismatchException(string message, Exception inner) : base(message, inner) { } public ArgumentMismatchException(string message, Exception inner) : base(message, inner) { }
protected ArgumentMismatchException( protected ArgumentMismatchException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -221,8 +222,8 @@ public ParserExecutionTargetException() { }
public ParserExecutionTargetException(string message) : base(message) { } public ParserExecutionTargetException(string message) : base(message) { }
public ParserExecutionTargetException(string message, Exception inner) : base(message, inner) { } public ParserExecutionTargetException(string message, Exception inner) : base(message, inner) { }
protected ParserExecutionTargetException( protected ParserExecutionTargetException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -238,8 +239,8 @@ public UnhandledParametersException(Dictionary<string, string> unhandledParamete
} }


protected UnhandledParametersException( protected UnhandledParametersException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


Expand All @@ -255,9 +256,30 @@ public MoreThanOneDefaultVerbException(IEnumerable<string> verbs)
} }


protected MoreThanOneDefaultVerbException( protected MoreThanOneDefaultVerbException(
System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) System.Runtime.Serialization.StreamingContext context)
: base(info, context) { } : base(info, context) { }
} }


[Serializable]
public class InvalidHelpHandlerException : CommandLineException
{
public MethodInfo Method { get; private set; }

public InvalidHelpHandlerException(MethodInfo method)
: this(method, null)
{
}

public InvalidHelpHandlerException(MethodInfo method, Exception ex)
: base("Method '{0}' is marked as [Help] but it does not have a single string parameter".FormatWith(method.Name), ex)
{
Method = method;
}

protected InvalidHelpHandlerException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context)
: base(info, context) { }
}
} }
4 changes: 1 addition & 3 deletions CLAP/IValidation.cs
Original file line number Original file line Diff line number Diff line change
@@ -1,6 +1,4 @@
using System; 
using System.Diagnostics;

namespace CLAP namespace CLAP
{ {
public interface ICollectionValidation public interface ICollectionValidation
Expand Down
18 changes: 4 additions & 14 deletions CLAP/Parser.cs
Original file line number Original file line Diff line number Diff line change
@@ -1,20 +1,6 @@
 


namespace CLAP namespace CLAP
{ {
/// <summary>
/// A command-line arguments parser
/// </summary>
public sealed class Parser<T> : ParserBase
{
public Parser()
: base(typeof(T))
{

}
}

/// <summary> /// <summary>
/// A command-line arguments parser /// A command-line arguments parser
/// </summary> /// </summary>
Expand All @@ -34,4 +20,8 @@ public static void Run<T>(string[] args)
p.Run(args); p.Run(args);
} }
} }

public class Parser<T> : MultiParser
{
}
} }
Loading

0 comments on commit b9f7451

Please sign in to comment.