Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid unnecessary visit* method calls #9105

Merged
merged 3 commits into from
Nov 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Bicep.Core.IntegrationTests/ParserTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ private static string GetSyntaxLoggingString(
};
}

private sealed class SpanConsistencyVisitor : SyntaxVisitor
private sealed class SpanConsistencyVisitor : CstVisitor
{
private int maxPosition = 0;

Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core.UnitTests/Parsing/ExpressionTestVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace Bicep.Core.UnitTests.Parsing
{
public sealed class ExpressionTestVisitor : SyntaxVisitor
public sealed class ExpressionTestVisitor : CstVisitor
{
private readonly StringBuilder buffer;

Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core.UnitTests/Syntax/SyntaxCollectorVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace Bicep.Core.UnitTests.Syntax
{
public class SyntaxCollectorVisitor : SyntaxVisitor
public class SyntaxCollectorVisitor : CstVisitor
{
public record SyntaxItem(SyntaxBase Syntax, SyntaxItem? Parent, int Depth)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace Bicep.Core.Analyzers.Linter.Common
{
public sealed class FindPossibleSecretsVisitor : SyntaxVisitor
public sealed class FindPossibleSecretsVisitor : AstVisitor
{
// TODO: Refactor to not use visitor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return visitor.diagnostics;
}

private class ResourceVisitor : SyntaxVisitor
private class ResourceVisitor : AstVisitor
{
public List<IDiagnostic> diagnostics = new();

Expand All @@ -57,7 +57,7 @@ public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax sy
}
}

private class PropertiesVisitor : SyntaxVisitor
private class PropertiesVisitor : AstVisitor
{
private readonly List<IDiagnostic> diagnostics;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return visitor.diagnostics;
}

private sealed class Visitor : SyntaxVisitor
private sealed class Visitor : AstVisitor
{
public List<IDiagnostic> diagnostics = new();

Expand Down
6 changes: 3 additions & 3 deletions src/Bicep.Core/Analyzers/Linter/Rules/LocationRuleBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ bool onlyParamsWithDefaultValues
return result.ToImmutableArray();
}

private class GetParametersUsedInResourceLocationsVisitor : SyntaxVisitor
private class GetParametersUsedInResourceLocationsVisitor : AstVisitor
{
private readonly SemanticModel semanticModel;

Expand All @@ -309,7 +309,7 @@ public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax sy
}
}

private class GetReferencedParametersVisitor : SyntaxVisitor
private class GetReferencedParametersVisitor : AstVisitor
{
private readonly SemanticModel semanticModel;

Expand All @@ -331,7 +331,7 @@ public override void VisitVariableAccessSyntax(VariableAccessSyntax syntax)
}
}

private class ContainsCallToRgOrDeploymentLocationVisitor : SyntaxVisitor
private class ContainsCallToRgOrDeploymentLocationVisitor : AstVisitor
{
public string? ActualExpression;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ static bool hasLeadingOrTrailingAlphaNumericChar(string srcText, string hostname
}
}

private sealed class Visitor : SyntaxVisitor
private sealed class Visitor : AstVisitor
{
public readonly Dictionary<TextSpan, string> DisallowedHostSpans = new();
private readonly ImmutableArray<string> disallowedHosts;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ private void ValidateResourceLocationValue(List<IDiagnostic> diagnostics, HashSe
}
}

private sealed class RuleVisitor : SyntaxVisitor
private sealed class RuleVisitor : AstVisitor
{
public List<IDiagnostic> diagnostics = new();
private readonly HashSet<VariableSymbol> variablesToChangeToParam = new();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return visitor.diagnostics;
}

private sealed class RuleVisitor : SyntaxVisitor
private sealed class RuleVisitor : AstVisitor
{
public List<IDiagnostic> diagnostics = new();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return visitor.diagnostics;
}

private class ResourceVisitor : SyntaxVisitor
private class ResourceVisitor : AstVisitor
{
public List<IDiagnostic> diagnostics = new();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return visitor.diagnostics;
}

private class OutputVisitor : SyntaxVisitor
private class OutputVisitor : AstVisitor
{
public List<IDiagnostic> diagnostics = new();

Expand Down Expand Up @@ -70,7 +70,7 @@ public override void VisitOutputDeclarationSyntax(OutputDeclarationSyntax syntax
}
}

private class OutputValueVisitor : SyntaxVisitor
private class OutputValueVisitor : AstVisitor
{
private readonly List<IDiagnostic> diagnostics;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return visitor.diagnostics;
}

private class Visitor : SyntaxVisitor
private class Visitor : AstVisitor
{
public List<IDiagnostic> diagnostics = new();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return spanFixes.Select(kvp => CreateFixableDiagnosticForSpan(diagnosticLevel, kvp.Key, kvp.Value));
}

private sealed class Visitor : SyntaxVisitor
private sealed class Visitor : AstVisitor
{
private readonly Dictionary<TextSpan, CodeFix> spanFixes;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ override public IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
}
}

private class NewGuidVisitor : SyntaxVisitor
private class NewGuidVisitor : AstVisitor
{
public bool hasNewGuid = false;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
return spanFixes.Select(kvp => CreateFixableDiagnosticForSpan(diagnosticLevel, kvp.Key, kvp.Value));
}

private sealed class Visitor : SyntaxVisitor
private sealed class Visitor : AstVisitor
{
private readonly Dictionary<TextSpan, CodeFix> spanFixes;
private readonly SemanticModel model;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ public override string FormatMessage(params object[] values)
return pathMessage is null ? mainMessage : $"{mainMessage} {pathMessage}";
}

private class IdPropertyVisitor : SyntaxVisitor
private class IdPropertyVisitor : AstVisitor
{
private readonly List<Failure> failures = new();
public IEnumerable<Failure> Failures => failures;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public override IEnumerable<IDiagnostic> AnalyzeInternal(SemanticModel model, Di
public override string FormatMessage(params object[] values)
=> string.Format(CoreResources.UseStableResourceIdentifiersMessageFormat, values);

private class Visitor : SyntaxVisitor
private class Visitor : AstVisitor
{
private static readonly IReadOnlySet<string> NonDeterministicFunctionNames = new HashSet<string>
{
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/DataFlow/LocalSymbolDependencyVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace Bicep.Core.DataFlow
{
public sealed class LocalSymbolDependencyVisitor : SyntaxVisitor
public sealed class LocalSymbolDependencyVisitor : AstVisitor
{
private readonly SemanticModel semanticModel;

Expand Down
8 changes: 5 additions & 3 deletions src/Bicep.Core/Diagnostics/DisabledDiagnosticsCache.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Collections.Immutable;
using System.Linq;
using Bicep.Core.Extensions;
using Bicep.Core.Parsing;
using Bicep.Core.Syntax;
using Bicep.Core.Text;

Expand Down Expand Up @@ -37,10 +38,11 @@ public ImmutableDictionary<int, DisableNextLineDirectiveEndPositionAndCodes> Get
return visitor.GetDisableNextLineDiagnosticDirectivesCache();
}

private class SyntaxTriviaVisitor : SyntaxVisitor
private class SyntaxTriviaVisitor : CstVisitor
{
private ImmutableArray<int> lineStarts;
private ImmutableDictionary<int, DisableNextLineDirectiveEndPositionAndCodes>.Builder disableNextLineDiagnosticDirectivesCacheBuilder = ImmutableDictionary.CreateBuilder<int, DisableNextLineDirectiveEndPositionAndCodes>();
private readonly ImmutableArray<int> lineStarts;

private readonly ImmutableDictionary<int, DisableNextLineDirectiveEndPositionAndCodes>.Builder disableNextLineDiagnosticDirectivesCacheBuilder = ImmutableDictionary.CreateBuilder<int, DisableNextLineDirectiveEndPositionAndCodes>();

public SyntaxTriviaVisitor(ImmutableArray<int> lineStarts)
{
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Emit/ForSyntaxValidatorVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace Bicep.Core.Emit
{
public sealed class ForSyntaxValidatorVisitor : SyntaxVisitor
public sealed class ForSyntaxValidatorVisitor : AstVisitor
{
// we don't support nesting of property loops right now
private const int MaximumNestedPropertyLoopCount = 1;
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Emit/FunctionPlacementValidatorVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

namespace Bicep.Core.Emit
{
public class FunctionPlacementValidatorVisitor : SyntaxVisitor
public class FunctionPlacementValidatorVisitor : AstVisitor
{
private enum VisitedElement
{
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Emit/InlineDependencyVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

namespace Bicep.Core.Emit
{
public class InlineDependencyVisitor : SyntaxVisitor
public class InlineDependencyVisitor : AstVisitor
{
private enum Decision
{
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Emit/IntegerValidatorVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace Bicep.Core.Emit
{
public class IntegerValidatorVisitor : SyntaxVisitor
public class IntegerValidatorVisitor : AstVisitor
{
private readonly IDiagnosticWriter diagnosticWriter;
private readonly SemanticModel semanticModel;
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Emit/ResourceDependencyVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace Bicep.Core.Emit
{
public class ResourceDependencyVisitor : SyntaxVisitor
public class ResourceDependencyVisitor : AstVisitor
{
private readonly SemanticModel model;
private Options? options;
Expand Down
4 changes: 2 additions & 2 deletions src/Bicep.Core/Navigation/SyntaxBaseExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public static class SyntaxBaseExtensions
return visitor.Result;
}

private sealed class NavigationSearchVisitor : SyntaxVisitor
private sealed class NavigationSearchVisitor : CstVisitor
{
private readonly int offset;
private readonly Func<SyntaxBase, bool> predicate;
Expand Down Expand Up @@ -89,7 +89,7 @@ public static string ToTextPreserveFormatting(this SyntaxBase syntax)
return sb.ToString();
}

private class PrintVisitor : SyntaxVisitor
private class PrintVisitor : CstVisitor
{
private readonly StringBuilder buffer;

Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Navigation/SyntaxTriviaExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public static class SyntaxTriviaExtensions
return visitor.Result;
}

private sealed class NavigationSearchVisitor : SyntaxVisitor
private sealed class NavigationSearchVisitor : CstVisitor
{
private readonly int offset;
private readonly Func<SyntaxTrivia, bool> predicate;
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Parsing/ParseDiagnosticsVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace Bicep.Core.Parsing
/// <summary>
/// Visitor responsible for collecting all the parse diagnostics from the parse tree.
/// </summary>
public class ParseDiagnosticsVisitor : SyntaxVisitor
public class ParseDiagnosticsVisitor : CstVisitor
{
private readonly IDiagnosticWriter diagnosticWriter;

Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace Bicep.Core.PrettyPrint
{
public class DocumentBuildVisitor : SyntaxVisitor
public class DocumentBuildVisitor : CstVisitor
{
private static readonly ILinkedDocument Nil = new NilDocument();

Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Semantics/DeclarationVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

namespace Bicep.Core.Semantics
{
public sealed class DeclarationVisitor : SyntaxVisitor
public sealed class DeclarationVisitor : AstVisitor
{
private readonly INamespaceProvider namespaceProvider;
private readonly IFeatureProvider features;
Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Semantics/NameBindingVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

namespace Bicep.Core.Semantics
{
public sealed class NameBindingVisitor : SyntaxVisitor
public sealed class NameBindingVisitor : AstVisitor
{
private FunctionFlags allowedFlags;

Expand Down
2 changes: 1 addition & 1 deletion src/Bicep.Core/Semantics/ResourceAncestorVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace Bicep.Core.Semantics
{
public sealed class ResourceAncestorVisitor : SyntaxVisitor
public sealed class ResourceAncestorVisitor : AstVisitor
{
private readonly SemanticModel semanticModel;
private readonly ImmutableDictionary<DeclaredResourceMetadata, ResourceAncestor>.Builder ancestry;
Expand Down
Loading