Browse Source

Optimize all passes which visited useless items

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1261/head
Dimitar Dobrev 6 years ago
parent
commit
fd713a6d27
  1. 14
      src/Generator/Passes/CheckFlagEnumsPass.cs
  2. 60
      src/Generator/Passes/CleanCommentsPass.cs
  3. 8
      src/Generator/Passes/CleanInvalidDeclNamesPass.cs
  4. 15
      src/Generator/Passes/FieldToPropertyPass.cs
  5. 17
      src/Generator/Passes/GenerateAbstractImplementationsPass.cs
  6. 16
      src/Generator/Passes/MarshalPrimitivePointersAsRefTypePass.cs
  7. 5
      src/Generator/Passes/ParamTypeToInterfacePass.cs

14
src/Generator/Passes/CheckFlagEnumsPass.cs

@ -8,6 +8,20 @@ namespace CppSharp.Passes @@ -8,6 +8,20 @@ namespace CppSharp.Passes
/// </summary>
public class CheckFlagEnumsPass : TranslationUnitPass
{
public CheckFlagEnumsPass()
{
VisitOptions.VisitClassBases = false;
VisitOptions.VisitClassProperties = false;
VisitOptions.VisitEventParameters = false;
VisitOptions.VisitFunctionParameters = false;
VisitOptions.VisitFunctionReturnType = false;
VisitOptions.VisitNamespaceEvents = false;
VisitOptions.VisitNamespaceTemplates = false;
VisitOptions.VisitNamespaceTypedefs = false;
VisitOptions.VisitNamespaceVariables = false;
VisitOptions.VisitTemplateArguments = false;
}
static bool IsFlagEnum(Enumeration @enum)
{
// If the enumeration only has power of two values, assume it's

60
src/Generator/Passes/CleanCommentsPass.cs

@ -1,21 +1,24 @@ @@ -1,21 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CppSharp.AST;
using CppSharp.Generators.CSharp;
using System.Text.RegularExpressions;
using CppSharp.Generators;
namespace CppSharp.Passes
{
public class CleanCommentsPass : TranslationUnitPass, ICommentVisitor<bool>
{
public bool VisitBlockCommand(BlockCommandComment comment)
public CleanCommentsPass()
{
return true;
VisitOptions.VisitClassBases = false;
VisitOptions.VisitFunctionReturnType = false;
VisitOptions.VisitTemplateArguments = false;
}
public bool VisitBlockCommand(BlockCommandComment comment) => true;
public override bool VisitParameterDecl(Parameter parameter) =>
base.VisitDeclaration(parameter);
public override bool VisitDeclaration(Declaration decl)
{
if (!base.VisitDeclaration(decl))
@ -38,20 +41,11 @@ namespace CppSharp.Passes @@ -38,20 +41,11 @@ namespace CppSharp.Passes
return true;
}
#region Comments Visit
public bool VisitHTMLEndTag(HTMLEndTagComment comment)
{
return true;
}
public bool VisitHTMLEndTag(HTMLEndTagComment comment) => true;
public bool VisitHTMLStartTag(HTMLStartTagComment comment)
{
return true;
}
public bool VisitHTMLStartTag(HTMLStartTagComment comment) => true;
public bool VisitInlineCommand(InlineCommandComment comment)
{
return true;
}
public bool VisitInlineCommand(InlineCommandComment comment) => true;
public bool VisitParagraphCommand(ParagraphComment comment)
{
@ -78,35 +72,17 @@ namespace CppSharp.Passes @@ -78,35 +72,17 @@ namespace CppSharp.Passes
return true;
}
public bool VisitParamCommand(ParamCommandComment comment)
{
return true;
}
public bool VisitParamCommand(ParamCommandComment comment) => true;
public bool VisitText(TextComment comment)
{
return true;
}
public bool VisitText(TextComment comment) => true;
public bool VisitTParamCommand(TParamCommandComment comment)
{
return true;
}
public bool VisitTParamCommand(TParamCommandComment comment) => true;
public bool VisitVerbatimBlock(VerbatimBlockComment comment)
{
return true;
}
public bool VisitVerbatimBlock(VerbatimBlockComment comment) => true;
public bool VisitVerbatimBlockLine(VerbatimBlockLineComment comment)
{
return true;
}
public bool VisitVerbatimBlockLine(VerbatimBlockLineComment comment) => true;
public bool VisitVerbatimLine(VerbatimLineComment comment)
{
return true;
}
public bool VisitVerbatimLine(VerbatimLineComment comment) => true;
#endregion
}
}

8
src/Generator/Passes/CleanInvalidDeclNamesPass.cs

@ -9,6 +9,14 @@ namespace CppSharp.Passes @@ -9,6 +9,14 @@ namespace CppSharp.Passes
{
public class CleanInvalidDeclNamesPass : TranslationUnitPass
{
public CleanInvalidDeclNamesPass()
{
VisitOptions.VisitClassBases = false;
VisitOptions.VisitEventParameters = false;
VisitOptions.VisitFunctionReturnType = false;
VisitOptions.VisitTemplateArguments = false;
}
public override bool VisitClassDecl(Class @class)
{
if (!base.VisitClassDecl(@class))

15
src/Generator/Passes/FieldToPropertyPass.cs

@ -6,6 +6,21 @@ namespace CppSharp.Passes @@ -6,6 +6,21 @@ namespace CppSharp.Passes
{
public class FieldToPropertyPass : TranslationUnitPass
{
public FieldToPropertyPass()
{
VisitOptions.VisitClassBases = false;
VisitOptions.VisitClassProperties = 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 (@class.CompleteDeclaration != null)

17
src/Generator/Passes/GenerateAbstractImplementationsPass.cs

@ -12,6 +12,23 @@ namespace CppSharp.Passes @@ -12,6 +12,23 @@ namespace CppSharp.Passes
/// </summary>
public class GenerateAbstractImplementationsPass : TranslationUnitPass
{
public GenerateAbstractImplementationsPass()
{
VisitOptions.VisitClassBases = false;
VisitOptions.VisitClassFields = false;
VisitOptions.VisitClassProperties = 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;
}
/// <summary>
/// Collects all internal implementations in a unit to be added at
/// the end because the unit cannot be changed while it's being

16
src/Generator/Passes/MarshalPrimitivePointersAsRefTypePass.cs

@ -7,6 +7,22 @@ namespace CppSharp.Passes @@ -7,6 +7,22 @@ namespace CppSharp.Passes
{
public class MarshalPrimitivePointersAsRefTypePass : TranslationUnitPass
{
public MarshalPrimitivePointersAsRefTypePass()
{
VisitOptions.VisitClassBases = false;
VisitOptions.VisitClassFields = false;
VisitOptions.VisitClassProperties = 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 VisitFunctionDecl(Function function)
{
if (!base.VisitFunctionDecl(function) ||

5
src/Generator/Passes/ParamTypeToInterfacePass.cs

@ -12,8 +12,13 @@ namespace CppSharp.Passes @@ -12,8 +12,13 @@ namespace CppSharp.Passes
VisitOptions.VisitClassBases = false;
VisitOptions.VisitClassFields = 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;
}

Loading…
Cancel
Save