From 093ae1548b7074ec1237da767085f95ce5e19b66 Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Fri, 28 Feb 2014 02:27:15 +0200 Subject: [PATCH] Avoided crashes when generating code corresponding to translation units at invalid locations. Signed-off-by: Dimitar Dobrev --- src/AST/TranslationUnit.cs | 2 ++ src/Generator/Driver.cs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/AST/TranslationUnit.cs b/src/AST/TranslationUnit.cs index 11f59808..ac8f9316 100644 --- a/src/AST/TranslationUnit.cs +++ b/src/AST/TranslationUnit.cs @@ -38,6 +38,8 @@ namespace CppSharp.AST public bool IsSystemHeader { get; set; } + public bool IsValid { get { return FilePath != ""; } } + /// Contains the path to the file. public string FilePath; diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index 9d4e7605..9b1ea5fd 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -312,7 +312,7 @@ namespace CppSharp if (!Directory.Exists(outputPath)) Directory.CreateDirectory(outputPath); - foreach (var output in outputs) + foreach (var output in outputs.Where(o => o.TranslationUnit.IsValid)) { var fileBase = output.TranslationUnit.FileNameWithoutExtension;