Skip to content

Commit fd713a6

Browse files
committed
Optimize all passes which visited useless items
Signed-off-by: Dimitar Dobrev <[email protected]>
1 parent e26206f commit fd713a6

7 files changed

+93
-42
lines changed

src/Generator/Passes/CheckFlagEnumsPass.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@ namespace CppSharp.Passes
88
/// </summary>
99
public class CheckFlagEnumsPass : TranslationUnitPass
1010
{
11+
public CheckFlagEnumsPass()
12+
{
13+
VisitOptions.VisitClassBases = false;
14+
VisitOptions.VisitClassProperties = false;
15+
VisitOptions.VisitEventParameters = false;
16+
VisitOptions.VisitFunctionParameters = false;
17+
VisitOptions.VisitFunctionReturnType = false;
18+
VisitOptions.VisitNamespaceEvents = false;
19+
VisitOptions.VisitNamespaceTemplates = false;
20+
VisitOptions.VisitNamespaceTypedefs = false;
21+
VisitOptions.VisitNamespaceVariables = false;
22+
VisitOptions.VisitTemplateArguments = false;
23+
}
24+
1125
static bool IsFlagEnum(Enumeration @enum)
1226
{
1327
// If the enumeration only has power of two values, assume it's
Lines changed: 18 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
using System;
2-
using System.Collections.Generic;
32
using System.Linq;
4-
using System.Text;
53
using CppSharp.AST;
6-
using CppSharp.Generators.CSharp;
7-
using System.Text.RegularExpressions;
84
using CppSharp.Generators;
95

106
namespace CppSharp.Passes
117
{
128
public class CleanCommentsPass : TranslationUnitPass, ICommentVisitor<bool>
139
{
14-
public bool VisitBlockCommand(BlockCommandComment comment)
10+
public CleanCommentsPass()
1511
{
16-
return true;
12+
VisitOptions.VisitClassBases = false;
13+
VisitOptions.VisitFunctionReturnType = false;
14+
VisitOptions.VisitTemplateArguments = false;
1715
}
1816

17+
public bool VisitBlockCommand(BlockCommandComment comment) => true;
18+
19+
public override bool VisitParameterDecl(Parameter parameter) =>
20+
base.VisitDeclaration(parameter);
21+
1922
public override bool VisitDeclaration(Declaration decl)
2023
{
2124
if (!base.VisitDeclaration(decl))
@@ -38,20 +41,11 @@ public bool VisitFull(FullComment comment)
3841
return true;
3942
}
4043
#region Comments Visit
41-
public bool VisitHTMLEndTag(HTMLEndTagComment comment)
42-
{
43-
return true;
44-
}
44+
public bool VisitHTMLEndTag(HTMLEndTagComment comment) => true;
4545

46-
public bool VisitHTMLStartTag(HTMLStartTagComment comment)
47-
{
48-
return true;
49-
}
46+
public bool VisitHTMLStartTag(HTMLStartTagComment comment) => true;
5047

51-
public bool VisitInlineCommand(InlineCommandComment comment)
52-
{
53-
return true;
54-
}
48+
public bool VisitInlineCommand(InlineCommandComment comment) => true;
5549

5650
public bool VisitParagraphCommand(ParagraphComment comment)
5751
{
@@ -78,35 +72,17 @@ public bool VisitParagraphCommand(ParagraphComment comment)
7872
return true;
7973
}
8074

81-
public bool VisitParamCommand(ParamCommandComment comment)
82-
{
83-
return true;
84-
}
75+
public bool VisitParamCommand(ParamCommandComment comment) => true;
8576

86-
public bool VisitText(TextComment comment)
87-
{
88-
return true;
89-
}
77+
public bool VisitText(TextComment comment) => true;
9078

91-
public bool VisitTParamCommand(TParamCommandComment comment)
92-
{
93-
return true;
94-
}
79+
public bool VisitTParamCommand(TParamCommandComment comment) => true;
9580

96-
public bool VisitVerbatimBlock(VerbatimBlockComment comment)
97-
{
98-
return true;
99-
}
81+
public bool VisitVerbatimBlock(VerbatimBlockComment comment) => true;
10082

101-
public bool VisitVerbatimBlockLine(VerbatimBlockLineComment comment)
102-
{
103-
return true;
104-
}
83+
public bool VisitVerbatimBlockLine(VerbatimBlockLineComment comment) => true;
10584

106-
public bool VisitVerbatimLine(VerbatimLineComment comment)
107-
{
108-
return true;
109-
}
85+
public bool VisitVerbatimLine(VerbatimLineComment comment) => true;
11086
#endregion
11187
}
11288
}

src/Generator/Passes/CleanInvalidDeclNamesPass.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ namespace CppSharp.Passes
99
{
1010
public class CleanInvalidDeclNamesPass : TranslationUnitPass
1111
{
12+
public CleanInvalidDeclNamesPass()
13+
{
14+
VisitOptions.VisitClassBases = false;
15+
VisitOptions.VisitEventParameters = false;
16+
VisitOptions.VisitFunctionReturnType = false;
17+
VisitOptions.VisitTemplateArguments = false;
18+
}
19+
1220
public override bool VisitClassDecl(Class @class)
1321
{
1422
if (!base.VisitClassDecl(@class))

src/Generator/Passes/FieldToPropertyPass.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,21 @@ namespace CppSharp.Passes
66
{
77
public class FieldToPropertyPass : TranslationUnitPass
88
{
9+
public FieldToPropertyPass()
10+
{
11+
VisitOptions.VisitClassBases = false;
12+
VisitOptions.VisitClassProperties = false;
13+
VisitOptions.VisitEventParameters = false;
14+
VisitOptions.VisitFunctionParameters = false;
15+
VisitOptions.VisitFunctionReturnType = false;
16+
VisitOptions.VisitNamespaceEnums = false;
17+
VisitOptions.VisitNamespaceEvents = false;
18+
VisitOptions.VisitNamespaceTemplates = false;
19+
VisitOptions.VisitNamespaceTypedefs = false;
20+
VisitOptions.VisitNamespaceVariables = false;
21+
VisitOptions.VisitTemplateArguments = false;
22+
}
23+
924
public override bool VisitClassDecl(Class @class)
1025
{
1126
if (@class.CompleteDeclaration != null)

src/Generator/Passes/GenerateAbstractImplementationsPass.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,23 @@ namespace CppSharp.Passes
1212
/// </summary>
1313
public class GenerateAbstractImplementationsPass : TranslationUnitPass
1414
{
15+
public GenerateAbstractImplementationsPass()
16+
{
17+
VisitOptions.VisitClassBases = false;
18+
VisitOptions.VisitClassFields = false;
19+
VisitOptions.VisitClassProperties = false;
20+
VisitOptions.VisitClassTemplateSpecializations = false;
21+
VisitOptions.VisitEventParameters = false;
22+
VisitOptions.VisitFunctionParameters = false;
23+
VisitOptions.VisitFunctionReturnType = false;
24+
VisitOptions.VisitNamespaceEnums = false;
25+
VisitOptions.VisitNamespaceEvents = false;
26+
VisitOptions.VisitNamespaceTemplates = false;
27+
VisitOptions.VisitNamespaceTypedefs = false;
28+
VisitOptions.VisitNamespaceVariables = false;
29+
VisitOptions.VisitTemplateArguments = false;
30+
}
31+
1532
/// <summary>
1633
/// Collects all internal implementations in a unit to be added at
1734
/// the end because the unit cannot be changed while it's being

src/Generator/Passes/MarshalPrimitivePointersAsRefTypePass.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,22 @@ namespace CppSharp.Passes
77
{
88
public class MarshalPrimitivePointersAsRefTypePass : TranslationUnitPass
99
{
10+
public MarshalPrimitivePointersAsRefTypePass()
11+
{
12+
VisitOptions.VisitClassBases = false;
13+
VisitOptions.VisitClassFields = false;
14+
VisitOptions.VisitClassProperties = false;
15+
VisitOptions.VisitEventParameters = false;
16+
VisitOptions.VisitFunctionParameters = false;
17+
VisitOptions.VisitFunctionReturnType = false;
18+
VisitOptions.VisitNamespaceEnums = false;
19+
VisitOptions.VisitNamespaceEvents = false;
20+
VisitOptions.VisitNamespaceTemplates = false;
21+
VisitOptions.VisitNamespaceTypedefs = false;
22+
VisitOptions.VisitNamespaceVariables = false;
23+
VisitOptions.VisitTemplateArguments = false;
24+
}
25+
1026
public override bool VisitFunctionDecl(Function function)
1127
{
1228
if (!base.VisitFunctionDecl(function) ||

src/Generator/Passes/ParamTypeToInterfacePass.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,13 @@ public ParamTypeToInterfacePass()
1212
VisitOptions.VisitClassBases = false;
1313
VisitOptions.VisitClassFields = false;
1414
VisitOptions.VisitEventParameters = false;
15+
VisitOptions.VisitFunctionParameters = false;
16+
VisitOptions.VisitFunctionReturnType = false;
1517
VisitOptions.VisitNamespaceEnums = false;
1618
VisitOptions.VisitNamespaceEvents = false;
19+
VisitOptions.VisitNamespaceTemplates = false;
20+
VisitOptions.VisitNamespaceTypedefs = false;
21+
VisitOptions.VisitNamespaceVariables = false;
1722
VisitOptions.VisitTemplateArguments = false;
1823
}
1924

0 commit comments

Comments
 (0)