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 @@ -10,14 +10,14 @@

<PropertyGroup>
<PackageId>MongoDB.Analyzer</PackageId>
<PackageVersion>1.2.0</PackageVersion>
<PackageVersion>1.3.0</PackageVersion>
<Authors>MongoDB Inc.</Authors>
<Title>MongoDB.Analyzer</Title>
<PackageIcon>packageIcon.png</PackageIcon>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<PackageProjectUrl>https://www.mongodb.com/docs/mongodb-analyzer/current/</PackageProjectUrl>
<RepositoryUrl>https://github.com/mongodb/mongo-csharp-analyzer</RepositoryUrl>
<PackageReleaseNotes>https://github.com/mongodb/mongo-csharp-analyzer/releases/tag/v1.2.0</PackageReleaseNotes>
<PackageReleaseNotes>https://github.com/mongodb/mongo-csharp-analyzer/releases/tag/v1.3.0</PackageReleaseNotes>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Description>MongoDB Roslyn analyzer for MongoDB .Net driver.</Description>
<Copyright>Copyright © 2010-present MongoDB Inc.</Copyright>
Expand Down
22 changes: 14 additions & 8 deletions src/MongoDB.Analyzer/AnalyzerReleases.Shipped.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
; Shipped analyzer releases
; https://github.com/dotnet/roslyn-analyzers/blob/master/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md
## Release 1.0.0

## Release 1.0.0
### New Rules

Rule ID | Category | Severity | Notes
--------|----------|----------|--------------------
MABuilders1001 | MongoDB.Analyzer.Builders | Info | Builders expression to MQL [Documentation](https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MABuilders1001)
MABuilders2001 | MongoDB.Analyzer.Builders | Warning | Unsupported builders expression [Documentation](https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MABuilders2001)
MALinq1001 | MongoDB.Analyzer.LINQ | Info | LINQ expression to MQL [Documentation](https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MALinq1001)
MALinq2001 | MongoDB.Analyzer.LINQ | Warning | Unsupported LINQ expression [Documentation](https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MALinq2001)
MALinq2002 | MongoDB.Analyzer.LINQ | Warning | Supported only in LINQ3 expression [Documentation](https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MALinq2002)

## Release 1.3.0

### New Rules

Rule ID | Category | Severity | Notes
--------|----------|----------|--------------------
MABuilders1001 | MongoDB.Analyzer.Builders | Info | Builders expression to MQL [Documentation](http://dochub.mongodb.org/core/mongodb-analyzer-diagnostic-rule-builders-2-mql-v-1-0)
MABuilders2001 | MongoDB.Analyzer.Builders | Warning | Unsupported builders expression [Documentation](http://dochub.mongodb.org/core/mongodb-analyzer-diagnostic-rule-not-supported-builders-expression-v-1-0)
MALinq1001 | MongoDB.Analyzer.LINQ | Info | LINQ expression to MQL [Documentation](http://dochub.mongodb.org/core/mongodb-analyzer-diagnostic-rule-linq-2-mql-v-1-0)
MALinq2001 | MongoDB.Analyzer.LINQ | Warning | Unsupported LINQ expression [Documentation](http://dochub.mongodb.org/core/mongodb-analyzer-diagnostic-rule-not-supported-linq-expression-v-1-0)
MALinq2002 | MongoDB.Analyzer.LINQ | Warning | Supported only in LINQ3 expression [Documentation](http://dochub.mongodb.org/core/mongodb-analyzer-diagnostic-rule-not-supported-linq-2-expression-v-1-0)
MAPoco1001 | MongoDB.Analyzer.Poco | Info | Poco to Json [Documentation](https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MAPoco1001)
MAPoco2001 | MongoDB.Analyzer.Poco | Warning | Unsupported POCO [Documentation](https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MAPoco2001)
46 changes: 0 additions & 46 deletions src/MongoDB.Analyzer/Core/Builders/BuidersDiagnosticsRules.cs

This file was deleted.

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 @@ -80,7 +80,7 @@ private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalysisContext
if (mqlResult.Mql != null)
{
var mql = analysisContext.Node.ConstantsRemapper.RemapConstants(mqlResult.Mql);
var diagnosticDescriptor = BuidersDiagnosticsRules.DiagnosticRuleBuilder2MQL;
var diagnosticDescriptor = DiagnosticsRules.DiagnosticRuleBuilder2MQL;
var decoratedMessage = AnalysisUtilities.DecorateMessage(mql, driverVersion, context.Settings);
semanticContext.ReportDiagnostics(diagnosticDescriptor, decoratedMessage, locations);
mqlCount++;
Expand All @@ -91,7 +91,7 @@ private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalysisContext

if (isDriverOrBsonException || settings.OutputInternalExceptions)
{
var diagnosticDescriptor = BuidersDiagnosticsRules.DiagnosticRuleNotSupportedBuilderExpression;
var diagnosticDescriptor = DiagnosticsRules.DiagnosticRuleNotSupportedBuilderExpression;
var message = AnalysisUtilities.GetExceptionMessage(mqlResult.Exception, typesMapper, AnalysisType.Builders);
var decoratedMessage = AnalysisUtilities.DecorateMessage(message, driverVersion, context.Settings);

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 @@ -67,7 +67,7 @@ private static void ReportInvalidExpressions(MongoAnalysisContext context, Expre
foreach (var invalidLinqNode in linqExpressionAnalysis.InvalidExpressionNodes)
{
var diagnostics = Diagnostic.Create(
LinqDiagnosticsRules.DiagnosticRuleNotSupportedLinqExpression,
DiagnosticsRules.DiagnosticRuleNotSupportedLinqExpression,
invalidLinqNode.OriginalExpression.GetLocation(),
AnalysisUtilities.DecorateMessage(invalidLinqNode.Errors.FirstOrDefault(), driverVersionString, context.Settings));

Expand Down Expand Up @@ -105,7 +105,7 @@ private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalysisContext
if (mqlResult.Mql != null)
{
var mql = analysisContext.Node.ConstantsRemapper.RemapConstants(mqlResult.Mql);
var diagnosticDescriptor = mqlResult.Linq3Only ? LinqDiagnosticsRules.DiagnosticRuleNotSupportedLinq2Expression : LinqDiagnosticsRules.DiagnosticRuleLinq2MQL;
var diagnosticDescriptor = mqlResult.Linq3Only ? DiagnosticsRules.DiagnosticRuleNotSupportedLinq2Expression : DiagnosticsRules.DiagnosticRuleLinq2MQL;
var decoratedMessage = AnalysisUtilities.DecorateMessage(mql, driverVersion, settings);
semanticContext.ReportDiagnostics(diagnosticDescriptor, decoratedMessage, locations);
mqlCount++;
Expand All @@ -116,7 +116,7 @@ private static AnalysisStats ReportMqlOrInvalidExpressions(MongoAnalysisContext

if (isDriverOrLinqException || settings.OutputInternalExceptions)
{
var diagnosticDescriptor = LinqDiagnosticsRules.DiagnosticRuleNotSupportedLinqExpression;
var diagnosticDescriptor = DiagnosticsRules.DiagnosticRuleNotSupportedLinqExpression;
var message = AnalysisUtilities.GetExceptionMessage(mqlResult.Exception, typesMapper, AnalysisType.Linq);
var decoratedMessage = AnalysisUtilities.DecorateMessage(message, driverVersion, context.Settings);

Expand Down
57 changes: 0 additions & 57 deletions src/MongoDB.Analyzer/Core/Linq/LinqDiagnosticsRules.cs

This file was deleted.

5 changes: 2 additions & 3 deletions src/MongoDB.Analyzer/Core/Poco/PocoAnalyzer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ private static AnalysisStats ReportJsonOrInvalidExpressions(MongoAnalysisContext
if (jsonResult.Json != null)
{
var decoratedMessage = AnalysisUtilities.DecorateMessage(jsonResult.Json, driverVersion, context.Settings);
semanticContext.ReportDiagnostics(PocoDiagnosticRules.DiagnosticRulePoco2Json, decoratedMessage, locations);
semanticContext.ReportDiagnostics(DiagnosticsRules.DiagnosticRulePoco2Json, decoratedMessage, locations);
jsonCount++;
}
else if (jsonResult.Exception != null)
Expand All @@ -88,11 +88,10 @@ private static AnalysisStats ReportJsonOrInvalidExpressions(MongoAnalysisContext

if (isDriverOrBsonException || settings.OutputInternalExceptions)
{
var diagnosticDescriptor = PocoDiagnosticRules.DiagnosticRuleNotSupportedPoco;
var message = AnalysisUtilities.GetExceptionMessage(jsonResult.Exception, typesMapper, AnalysisType.Poco);
var decoratedMessage = AnalysisUtilities.DecorateMessage(message, driverVersion, context.Settings);

semanticContext.ReportDiagnostics(diagnosticDescriptor, decoratedMessage, locations);
semanticContext.ReportDiagnostics(DiagnosticsRules.DiagnosticRuleNotSupportedPoco, decoratedMessage, locations);
}

if (!isDriverOrBsonException)
Expand Down
46 changes: 0 additions & 46 deletions src/MongoDB.Analyzer/Core/Poco/PocoDiagnosticsRules.cs

This file was deleted.

4 changes: 2 additions & 2 deletions src/MongoDB.Analyzer/Core/Telemetry/AnalysisTelemetry.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ internal record AnalysisTelemetry(
public static AnalysisTelemetry Empty = new(0, 0, null, null, -1, -1, -1, -1, -1);

public (string, object)[] ToKeyValues() => new (string, object)[]
{
{
("expressions_found_count", ExpressionsFound),
("data_types_count", DataTypesCount),
("driver_version", DriverVersion),
Expand All @@ -38,5 +38,5 @@ internal record AnalysisTelemetry(
("driver_exception_count", DriverExceptionCount),
("internal_exception_count", InternalExceptionCount),
("duration_ms", DurationMS)
};
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public static void AnalysisStarted(
var csharpOptions = csharpCompilation.Options;

var data = new (string, object)[]
{
{
("output_kind", (csharpOptions?.OutputKind)?.ToString() ?? "Unknown"),
("output_platform", (csharpOptions?.Platform)?.ToString() ?? "Unknown"),
("lang_version", (csharpCompilation?.LanguageVersion)?.ToString() ?? "Unknown"),
Expand All @@ -49,7 +49,7 @@ public static void AnalysisStarted(
("poco_limit", settings.PocoLimit.ToString()),
("logs_enabled", settings.OutputInternalLogsToFile),
("analyzer_version", s_version)
};
};

telemetryService.Event("Analysis Started", data);
}
Expand All @@ -61,5 +61,5 @@ public static void BuildersAnalysisResult(this ITelemetryService telemetryServic
telemetryService.Event("Builders analyzed", analysisStatistics.ToKeyValues());

public static void PocoAnalysisResult(this ITelemetryService telemetryService, AnalysisTelemetry analysisStatistics) =>
telemetryService.Event("Pocos analyzed", analysisStatistics.ToKeyValues());
telemetryService.Event("POCOs analyzed", analysisStatistics.ToKeyValues());
}
Loading