mirror of https://github.com/mono/CppSharp.git
5 changed files with 48 additions and 3 deletions
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
using System.Collections.Generic; |
||||
using System.Linq; |
||||
using CppSharp.AST; |
||||
|
||||
namespace CppSharp.Passes |
||||
{ |
||||
public class MakeProtectedNestedTypesPublicPass : TranslationUnitPass |
||||
{ |
||||
public MakeProtectedNestedTypesPublicPass() |
||||
{ |
||||
VisitOptions.VisitClassBases = false; |
||||
VisitOptions.VisitClassFields = false; |
||||
VisitOptions.VisitClassTemplateSpecializations = false; |
||||
VisitOptions.VisitEventParameters = false; |
||||
VisitOptions.VisitFunctionParameters = false; |
||||
VisitOptions.VisitFunctionReturnType = false; |
||||
VisitOptions.VisitNamespaceEnums = false; |
||||
VisitOptions.VisitNamespaceEvents = false; |
||||
VisitOptions.VisitNamespaceTemplates = false; |
||||
VisitOptions.VisitNamespaceTypedefs = false; |
||||
VisitOptions.VisitNamespaceVariables = false; |
||||
VisitOptions.VisitTemplateArguments = false; |
||||
} |
||||
|
||||
public override bool VisitClassDecl(Class @class) |
||||
{ |
||||
if (!base.VisitClassDecl(@class)) |
||||
return false; |
||||
|
||||
(from d in ((IEnumerable<Declaration>) @class.Classes).Concat(@class.Enums) |
||||
where d.Access == AccessSpecifier.Protected |
||||
select d).All(d => { d.Access = AccessSpecifier.Public; return true; }); |
||||
|
||||
return true; |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue