From f7099fe55213c41ed429ba45fe339da116a01bb8 Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Sat, 25 Oct 2014 20:00:39 +0300 Subject: [PATCH] Simplified and precised the pass for inlines. Signed-off-by: Dimitar Dobrev --- .../Passes/GenerateInlinesCodePass.cs | 26 ++++--------------- 1 file changed, 5 insertions(+), 21 deletions(-) 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);