Browse Source

Added a macro expansion processing to ignore a translation unit.

pull/220/merge
marcos henrich 11 years ago committed by triton
parent
commit
f02fa7b2ab
  1. 16
      src/Generator/Passes/CheckMacrosPass.cs

16
src/Generator/Passes/CheckMacrosPass.cs

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using CppSharp.AST;
@ -73,6 +74,19 @@ namespace CppSharp.Passes @@ -73,6 +74,19 @@ namespace CppSharp.Passes
decl.IsGenerated = false;
}
public override bool VisitTranslationUnit(TranslationUnit unit)
{
var expansions = unit.PreprocessedEntities.OfType<MacroExpansion>();
if (expansions.Any(e => e.Text == Prefix + "_IGNORE_FILE"))
{
unit.IsGenerated = false;
unit.ExplicityIgnored = true;
}
return base.VisitTranslationUnit(unit);
}
public override bool VisitClassDecl(Class @class)
{
var expansions = @class.PreprocessedEntities.OfType<MacroExpansion>();

Loading…
Cancel
Save