Skip to content
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
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ static AnalysisCodeGenerator()
s_parseOptions = mqlGeneratorSyntaxTree.Options;
}

public static CompilationResult Compile(MongoAnalyzerContext context, ExpressionsAnalysis buildersExpressionAnalysis)
public static CompilationResult Compile(MongoAnalysisContext context, ExpressionsAnalysis buildersExpressionAnalysis)
{
var semanticModel = context.SemanticModelAnalysisContext.SemanticModel;
var referencesContainer = ReferencesProvider.GetReferences(semanticModel.Compilation.References, context.Logger);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public RewriteResult(SyntaxNode NodeToReplace, SyntaxNode NewNode) :
public static RewriteResult Invalid = new(RewriteAction.Invalid, null, null);
}

public static ExpressionsAnalysis ProcessSemanticModel(MongoAnalyzerContext context)
public static ExpressionsAnalysis ProcessSemanticModel(MongoAnalysisContext context)
{
var semanticModel = context.SemanticModelAnalysisContext.SemanticModel;
var syntaxTree = semanticModel.SyntaxTree;
Expand All @@ -63,7 +63,7 @@ public static ExpressionsAnalysis ProcessSemanticModel(MongoAnalyzerContext cont
var analysisContexts = new List<ExpressionAnalysisContext>();
var invalidExpressionNodes = new List<InvalidExpressionAnalysisNode>();

var typesProcessor = new TypesProcessor();
var typesProcessor = context.TypesProcessor;
var nodesProcessed = new HashSet<SyntaxNode>();
var buildersToAnalysisContextMap = context.Settings.EnableVariableTracking ? new Dictionary<SyntaxNode, ExpressionAnalysisContext>() : null;

Expand Down
4 changes: 2 additions & 2 deletions src/MongoDB.Analyzer/Core/Builders/BuildersAnalyzer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace MongoDB.Analyzer.Core.Builders;

internal static class BuildersAnalyzer
{
public static bool AnalyzeBuilders(MongoAnalyzerContext context)
public static bool AnalyzeBuilders(MongoAnalysisContext context)
{
var sw = Stopwatch.StartNew();
var stats = AnalysisStats.Empty;
Expand Down Expand Up @@ -50,7 +50,7 @@ public static bool AnalyzeBuilders(MongoAnalyzerContext context)
return telemetry.ExpressionsFound > 0;
}

private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalyzerContext context, ExpressionsAnalysis buildersAnalysis)
private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalysisContext context, ExpressionsAnalysis buildersAnalysis)
{
var semanticContext = context.SemanticModelAnalysisContext;
if (buildersAnalysis.AnalysisNodeContexts.EmptyOrNull())
Expand Down
2 changes: 1 addition & 1 deletion src/MongoDB.Analyzer/Core/Linq/AnalysisCodeGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ static AnalysisCodeGenerator()
s_parseOptions = mqlGeneratorSyntaxTree.Options;
}

public static CompilationResult Compile(MongoAnalyzerContext context, ExpressionsAnalysis linqExpressionAnalysis)
public static CompilationResult Compile(MongoAnalysisContext context, ExpressionsAnalysis linqExpressionAnalysis)
{
var semanticModel = context.SemanticModelAnalysisContext.SemanticModel;
var referencesContainer = ReferencesProvider.GetReferences(semanticModel.Compilation.References, context.Logger);
Expand Down
6 changes: 3 additions & 3 deletions src/MongoDB.Analyzer/Core/Linq/LinqAnalyzer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace MongoDB.Analyzer.Core.Linq;

internal static class LinqAnalyzer
{
public static bool AnalyzeIMongoQueryable(MongoAnalyzerContext context)
public static bool AnalyzeIMongoQueryable(MongoAnalysisContext context)
{
var sw = Stopwatch.StartNew();
var stats = AnalysisStats.Empty;
Expand Down Expand Up @@ -51,7 +51,7 @@ public static bool AnalyzeIMongoQueryable(MongoAnalyzerContext context)
return telemetry.ExpressionsFound > 0;
}

private static void ReportInvalidExpressions(MongoAnalyzerContext context, ExpressionsAnalysis linqExpressionAnalysis)
private static void ReportInvalidExpressions(MongoAnalysisContext context, ExpressionsAnalysis linqExpressionAnalysis)
{
var semanticContext = context.SemanticModelAnalysisContext;

Expand All @@ -74,7 +74,7 @@ private static void ReportInvalidExpressions(MongoAnalyzerContext context, Expre
}
}

private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalyzerContext context, ExpressionsAnalysis linqExpressionAnalysis)
private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalysisContext context, ExpressionsAnalysis linqExpressionAnalysis)
{
var semanticContext = context.SemanticModelAnalysisContext;

Expand Down
4 changes: 2 additions & 2 deletions src/MongoDB.Analyzer/Core/Linq/LinqExpressionProcessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public RewriteResult(SyntaxNode NodeToReplace, SyntaxNode NewNode) :
public static RewriteResult Invalid = new(RewriteAction.Invalid, null, null);
}

public static ExpressionsAnalysis ProcessSemanticModel(MongoAnalyzerContext context)
public static ExpressionsAnalysis ProcessSemanticModel(MongoAnalysisContext context)
{
var semanticModel = context.SemanticModelAnalysisContext.SemanticModel;
var syntaxTree = semanticModel.SyntaxTree;
Expand All @@ -55,7 +55,7 @@ public static ExpressionsAnalysis ProcessSemanticModel(MongoAnalyzerContext cont
var analysisContexts = new List<ExpressionAnalysisContext>();
var invalidExpressionNodes = new List<InvalidExpressionAnalysisNode>();

var typesProcessor = new TypesProcessor();
var typesProcessor = context.TypesProcessor;

foreach (var node in root.DescendantNodesWithSkipList(processedSyntaxNodes).OfType<ExpressionSyntax>())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@

namespace MongoDB.Analyzer.Core;

internal record MongoAnalyzerContext(
internal record MongoAnalysisContext(
SemanticModelAnalysisContext SemanticModelAnalysisContext,
MongoDBAnalyzerSettings Settings,
TypesProcessor TypesProcessor,
Logger Logger,
ITelemetryService Telemetry)
{
Expand Down
3 changes: 2 additions & 1 deletion src/MongoDB.Analyzer/MongoDBDiagnosticAnalyzer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ public static void SemanticModelAction(SemanticModelAnalysisContext context)
using var telemetryService = SettingsHelper.CreateTelemetryService(settings, correlationId);
using var logger = SettingsHelper.CreateLogger(settings, correlationId);

var mongoAnalyzerContext = new MongoAnalyzerContext(context, settings, logger, telemetryService);
var typesProcessor = new TypesProcessor();
var mongoAnalyzerContext = new MongoAnalysisContext(context, settings, typesProcessor, logger, telemetryService);
var flushTelemetry = false;

try
Expand Down