diff --git a/src/Generator/Passes/GenerateInlinesCodePass.cs b/src/Generator/Passes/GenerateInlinesCodePass.cs index 53dd8ef9..285ed1bb 100644 --- a/src/Generator/Passes/GenerateInlinesCodePass.cs +++ b/src/Generator/Passes/GenerateInlinesCodePass.cs @@ -1,6 +1,4 @@ -using System.Collections.Generic; -using System.IO; -using System.Linq; +using System.IO; using System.Text; using CppSharp.AST; @@ -8,31 +6,17 @@ namespace CppSharp.Passes { public class GenerateInlinesCodePass : TranslationUnitPass { - public GenerateInlinesCodePass() - { - this.SkipPatterns = new List(); - } - - public List SkipPatterns { get; private set; } - public override bool VisitLibrary(ASTContext context) { - bool result = base.VisitLibrary(context); Directory.CreateDirectory(Driver.Options.OutputDir); - WriteInlinesIncludes(context); - return result; + WriteInlinesIncludes(); + return true; } - private void WriteInlinesIncludes(ASTContext context) + private void WriteInlinesIncludes() { var cppBuilder = new StringBuilder(); - foreach (var header in from translationUnit in context.TranslationUnits - where translationUnit.IsValid && !translationUnit.IsSystemHeader && - translationUnit.GenerationKind == GenerationKind.Generate - let fileName = translationUnit.FileName - where SkipPatterns.All(p => !fileName.EndsWith(p)) - orderby fileName - select fileName) + foreach (var header in Driver.Options.Headers) cppBuilder.AppendFormat("#include \"{0}\"\n", header); var cpp = string.Format("{0}.cpp", Driver.Options.InlinesLibraryName); var path = Path.Combine(Driver.Options.OutputDir, cpp);