Browse Source

Cleaned up the additional parser options after parsing headers.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1005/head
Dimitar Dobrev 9 years ago
parent
commit
3b43a0b168
  1. 17
      src/Generator/Driver.cs

17
src/Generator/Driver.cs

@ -126,19 +126,25 @@ namespace CppSharp
if (Options.UnityBuild) if (Options.UnityBuild)
{ {
var parserOptions = ParserOptions.BuildForSourceFile(Options.Modules); using (var parserOptions = ParserOptions.BuildForSourceFile(
using (var result = parser.ParseSourceFiles(sourceFiles, parserOptions)) Options.Modules))
{
using (var result = parser.ParseSourceFiles(
sourceFiles, parserOptions))
Context.TargetInfo = result.TargetInfo; Context.TargetInfo = result.TargetInfo;
if (string.IsNullOrEmpty(ParserOptions.TargetTriple)) if (string.IsNullOrEmpty(ParserOptions.TargetTriple))
ParserOptions.TargetTriple = parserOptions.TargetTriple; ParserOptions.TargetTriple = parserOptions.TargetTriple;
} }
}
else else
{ {
foreach (var sourceFile in sourceFiles) foreach (var sourceFile in sourceFiles)
{ {
var parserOptions = ParserOptions.BuildForSourceFile( using (var parserOptions = ParserOptions.BuildForSourceFile(
Options.Modules, sourceFile); Options.Modules, sourceFile))
using (ParserResult result = parser.ParseSourceFile(sourceFile, parserOptions)) {
using (ParserResult result = parser.ParseSourceFile(
sourceFile, parserOptions))
if (Context.TargetInfo == null) if (Context.TargetInfo == null)
Context.TargetInfo = result.TargetInfo; Context.TargetInfo = result.TargetInfo;
else else
@ -147,6 +153,7 @@ namespace CppSharp
ParserOptions.TargetTriple = parserOptions.TargetTriple; ParserOptions.TargetTriple = parserOptions.TargetTriple;
} }
} }
}
Context.ASTContext = ClangParser.ConvertASTContext(astContext); Context.ASTContext = ClangParser.ConvertASTContext(astContext);

Loading…
Cancel
Save