From 16bd9d1deb422b9fa02cdf5e4983db0258a45640 Mon Sep 17 00:00:00 2001 From: triton Date: Sun, 14 Jul 2013 04:13:12 +0100 Subject: [PATCH] Improve option checking. --- src/Generator/Driver.cs | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index 291a3157..a162767e 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -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 { 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 public Func GenerateName; } + public class InvalidOptionException : Exception + { + public InvalidOptionException() + { + + } + } + public static class ConsoleDriver { static void OnFileParsed(string file, ParserResult result)