Browse Source

Improve option checking.

pull/12/merge
triton 13 years ago
parent
commit
16bd9d1deb
  1. 22
      src/Generator/Driver.cs

22
src/Generator/Driver.cs

@ -44,11 +44,11 @@ namespace CppSharp @@ -44,11 +44,11 @@ namespace CppSharp
static void ValidateOptions(DriverOptions options)
{
if (string.IsNullOrWhiteSpace(options.LibraryName))
throw new InvalidDataException();
if (!Generators.ContainsKey(options.GeneratorKind))
throw new InvalidOptionException();
if (options.OutputDir == null)
options.OutputDir = Directory.GetCurrentDirectory();
if (string.IsNullOrWhiteSpace(options.LibraryName))
throw new InvalidOptionException();
for (var i = 0; i < options.IncludeDirs.Count; i++)
{
@ -68,12 +68,6 @@ namespace CppSharp @@ -68,12 +68,6 @@ namespace CppSharp
{
ValidateOptions(Options);
if (!Directory.Exists(Options.OutputDir))
Directory.CreateDirectory(Options.OutputDir);
if (!Generators.ContainsKey(Options.GeneratorKind))
throw new NotImplementedException("Unknown generator kind");
Generator = Generators[Options.GeneratorKind](this);
}
@ -232,6 +226,14 @@ namespace CppSharp @@ -232,6 +226,14 @@ namespace CppSharp
public Func<TranslationUnit, string> GenerateName;
}
public class InvalidOptionException : Exception
{
public InvalidOptionException()
{
}
}
public static class ConsoleDriver
{
static void OnFileParsed(string file, ParserResult result)

Loading…
Cancel
Save