Skip to content

Commit 443f668

Browse files
committed
Made Namespace Change
1 parent 65069d4 commit 443f668

File tree

5 files changed

+19
-8
lines changed

5 files changed

+19
-8
lines changed

src/MongoDB.Analyzer.Helpers/Builders/MqlGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
using System.Linq;
1616
using MongoDB.Bson;
17-
using MongoDB.Bson.Serialization.Attributes;
17+
using MongoDB.Bson.Serialization.Options;
1818
using MongoDB.Driver;
1919

2020
namespace MongoDB.Analyzer.Helpers.Builders
@@ -24,7 +24,7 @@ public static class MqlGenerator
2424
#pragma warning disable CS0169 // The field is never used
2525
#pragma warning disable IDE0051
2626
private static readonly BsonType s_dummyRef1;
27-
private static readonly BsonIgnoreAttribute s_dummyRef2;
27+
private static readonly TimeSpanUnits s_dummyRef2;
2828
#pragma warning restore IDE0051 // The field is never used
2929
#pragma warning restore CS0169
3030

src/MongoDB.Analyzer.Helpers/Linq/MqlGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
using System;
1616
using System.Linq;
1717
using MongoDB.Bson;
18-
using MongoDB.Bson.Serialization.Attributes;
18+
using MongoDB.Bson.Serialization.Options;
1919
using MongoDB.Driver.Linq;
2020

2121
namespace MongoDB.Analyzer.Helpers.Linq
@@ -25,7 +25,7 @@ public static class MqlGenerator
2525
#pragma warning disable CS0169 // The field is never used
2626
#pragma warning disable IDE0051
2727
private static readonly BsonType s_dummyRef1;
28-
private static readonly BsonIgnoreAttribute s_dummyRef2;
28+
private static readonly TimeSpanUnits s_dummyRef2;
2929
#pragma warning restore IDE0051 // The field is never used
3030
#pragma warning restore CS0169
3131

src/MongoDB.Analyzer/Core/TypesGeneratorHelper.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ internal static class TypesGeneratorHelper
2222
.AddUsings(
2323
Using("System"),
2424
Using("MongoDB.Bson"),
25-
Using("MongoDB.Bson.Serialization.Attributes"));
25+
Using("MongoDB.Bson.Serialization.Attributes"),
26+
Using("MongoDB.Bson.Serialization.Options"));
2627

2728

2829
private static readonly NamespaceDeclarationSyntax s_namespaceDeclarationSyntaxBuilders = SyntaxFactory.NamespaceDeclaration(SyntaxFactory.ParseName(MqlGeneratorSyntaxElements.Builders.MqlGeneratorNamespace));

src/MongoDB.Analyzer/Core/TypesProcessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public string ProcessTypeSymbol(ITypeSymbol typeSymbol)
6464
}
6565

6666
var fullTypeName = GetFullName(typeSymbol);
67-
if (typeSymbol.IsSupportedBsonType())
67+
if (typeSymbol.IsSupportedBsonType() || typeSymbol.IsSupportedBsonSerializationOption())
6868
{
6969
return (typeSymbol.Name, fullTypeName);
7070
}

src/MongoDB.Analyzer/Core/Utilities/SymbolExtensions.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ internal static class SymbolExtensions
1818
{
1919
private const string NamespaceMongoDBBson = "MongoDB.Bson";
2020
private const string NamespaceMongoDBBsonAttributes = "MongoDB.Bson.Serialization.Attributes";
21+
private const string NamespaceMongoDBBsonSerializationOptions = "MongoDB.Bson.Serialization.Options";
2122
private const string AssemblyMongoDBDriver = "MongoDB.Driver";
2223
private const string NamespaceMongoDBDriver = "MongoDB.Driver";
2324
private const string NamespaceMongoDBLinq = "MongoDB.Driver.Linq";
2425
private const string NamespaceSystem = "System";
2526
private const string NamespaceSystemLinq = "System.Linq";
2627

27-
private static readonly HashSet<string> s_knownBsonTypes = new()
28+
private static readonly HashSet<string> s_supportedBsonTypes = new()
2829
{
2930
"MongoDB.Bson.BsonDocument",
3031
"MongoDB.Bson.BsonValue",
@@ -59,6 +60,11 @@ internal static class SymbolExtensions
5960
"BsonTimeSpanOptionsAttribute"
6061
};
6162

63+
private static readonly HashSet<string> s_supportedBsonSerializationOptions = new()
64+
{
65+
"MongoDB.Bson.Serialization.Options.TimeSpanUnits"
66+
};
67+
6268
private static readonly HashSet<string> s_supportedSystemTypes = new()
6369
{
6470
"System.DateTimeKind",
@@ -171,9 +177,13 @@ public static bool IsSupportedBsonAttribute(this ITypeSymbol typeSymbol) =>
171177
s_supportedBsonAttributes.Contains(typeSymbol?.Name) &&
172178
typeSymbol?.ContainingNamespace?.ToDisplayString() == NamespaceMongoDBBsonAttributes;
173179

180+
public static bool IsSupportedBsonSerializationOption(this ITypeSymbol typeSymbol) =>
181+
s_supportedBsonSerializationOptions.Contains(typeSymbol.ToDisplayString()) &&
182+
typeSymbol?.ContainingNamespace?.ToDisplayString() == NamespaceMongoDBBsonSerializationOptions;
183+
174184
public static bool IsSupportedBsonType(this ITypeSymbol typeSymbol) =>
175185
typeSymbol?.ContainingNamespace?.ToDisplayString() == NamespaceMongoDBBson &&
176-
s_knownBsonTypes.Contains(typeSymbol.ToDisplayString());
186+
s_supportedBsonTypes.Contains(typeSymbol.ToDisplayString());
177187

178188
public static bool IsString(this ITypeSymbol typeSymbol) =>
179189
typeSymbol?.SpecialType == SpecialType.System_String;

0 commit comments

Comments
 (0)