diff --git a/README.md b/README.md index a0f1fce..4a81cde 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ dotnet add package AlephMapper Using `PackageReference`: ```xml - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -82,7 +82,7 @@ With Central Package Management: ```xml - + @@ -103,7 +103,7 @@ When referencing the generator directly from source: ### Compiler compatibility -AlephMapper 0.7.3 requires a Roslyn compiler host compatible with `Microsoft.CodeAnalysis` 4.14 or later. This version uses Roslyn's embedded-marker support so its generated configuration attributes remain private to the consuming assembly, including when `InternalsVisibleTo` is used. +AlephMapper 0.7.4 requires a Roslyn compiler host compatible with `Microsoft.CodeAnalysis` 4.14 or later. This version uses Roslyn's embedded-marker support so its generated configuration attributes remain private to the consuming assembly, including when `InternalsVisibleTo` is used. ### Migration: `[Expressive]` to `[Projectable]` diff --git a/source/AlephMapper.csproj b/source/AlephMapper.csproj index e8ca616..3e7ee18 100644 --- a/source/AlephMapper.csproj +++ b/source/AlephMapper.csproj @@ -13,7 +13,7 @@ MIT https://github.com/Raffinert/AlephMapper README.md - 0.7.3 + 0.7.4 0 $(PackageVersion) $(PackageVersion).$(BuildNumber) diff --git a/source/SyntaxRewriters/InliningResolver.CollectionExpressionRewriter.cs b/source/SyntaxRewriters/InliningResolver.CollectionExpressionRewriter.cs index e8e08e0..15e013d 100644 --- a/source/SyntaxRewriters/InliningResolver.CollectionExpressionRewriter.cs +++ b/source/SyntaxRewriters/InliningResolver.CollectionExpressionRewriter.cs @@ -18,7 +18,10 @@ internal sealed partial class InliningResolver // Only handle null-coalescing specially; otherwise defer to default behavior if (!node.OperatorToken.IsKind(SyntaxKind.QuestionQuestionToken)) { - return base.VisitBinaryExpression(node); + var rewritten = (BinaryExpressionSyntax?)base.VisitBinaryExpression(node); + return node.IsKind(SyntaxKind.AsExpression) && rewritten != null + ? rewritten.WithRight(GetFullyQualifiedTypeSyntax((TypeSyntax)node.Right, (TypeSyntax)rewritten.Right)) + : rewritten; } var rightOriginal = node.Right; @@ -116,35 +119,45 @@ private ExpressionSyntax RewriteCollectionExpression(SyntaxNode collectionExpres try { // First, try to get the type from the semantic model of the collection expression itself - var typeInfo = model.GetTypeInfo(collectionExpression); - if (typeInfo.Type != null && typeInfo.Type.TypeKind != TypeKind.Error) + if (CanQuerySemanticModel(collectionExpression)) { - return typeInfo.Type; + var typeInfo = model.GetTypeInfo(collectionExpression); + if (typeInfo.Type != null && typeInfo.Type.TypeKind != TypeKind.Error) + return typeInfo.Type; } // If that fails, try to infer from the context if (contextNode != null) { // For binary expressions (null coalescing), use the left side type - var leftTypeInfo = model.GetTypeInfo(contextNode); - if (leftTypeInfo.Type != null) - return leftTypeInfo.Type; + if (CanQuerySemanticModel(contextNode)) + { + var leftTypeInfo = model.GetTypeInfo(contextNode); + if (leftTypeInfo.Type != null) + return leftTypeInfo.Type; + } // For assignments, get the type of the left side if (contextNode.Parent is AssignmentExpressionSyntax assignment) { - var leftType = model.GetTypeInfo(assignment.Left); - if (leftType.Type != null) - return leftType.Type; + if (CanQuerySemanticModel(assignment.Left)) + { + var leftType = model.GetTypeInfo(assignment.Left); + if (leftType.Type != null) + return leftType.Type; + } } // For property initializers, look at the property type if (contextNode.Parent is EqualsValueClauseSyntax equalsValue && equalsValue.Parent is PropertyDeclarationSyntax property) { - var propType = model.GetTypeInfo(property.Type); - if (propType.Type != null) - return propType.Type; + if (CanQuerySemanticModel(property.Type)) + { + var propType = model.GetTypeInfo(property.Type); + if (propType.Type != null) + return propType.Type; + } } } @@ -157,9 +170,12 @@ private ExpressionSyntax RewriteCollectionExpression(SyntaxNode collectionExpres if (currentNode is AssignmentExpressionSyntax assignmentExpr && IsDescendantOf(collectionExpression, assignmentExpr.Right)) { - var leftSideType = model.GetTypeInfo(assignmentExpr.Left); - if (leftSideType.Type != null) - return leftSideType.Type; + if (CanQuerySemanticModel(assignmentExpr.Left)) + { + var leftSideType = model.GetTypeInfo(assignmentExpr.Left); + if (leftSideType.Type != null) + return leftSideType.Type; + } } // Look for binary expressions (null coalescing) where we're on the right side @@ -167,9 +183,12 @@ private ExpressionSyntax RewriteCollectionExpression(SyntaxNode collectionExpres binaryExpr.OperatorToken.IsKind(SyntaxKind.QuestionQuestionToken) && IsDescendantOf(collectionExpression, binaryExpr.Right)) { - var leftSideType = model.GetTypeInfo(binaryExpr.Left); - if (leftSideType.Type != null) - return leftSideType.Type; + if (CanQuerySemanticModel(binaryExpr.Left)) + { + var leftSideType = model.GetTypeInfo(binaryExpr.Left); + if (leftSideType.Type != null) + return leftSideType.Type; + } } currentNode = currentNode.Parent; diff --git a/source/SyntaxRewriters/InliningResolver.ImplicitObjectCreationRewriter.cs b/source/SyntaxRewriters/InliningResolver.ImplicitObjectCreationRewriter.cs index 2240d2a..dd52f3e 100644 --- a/source/SyntaxRewriters/InliningResolver.ImplicitObjectCreationRewriter.cs +++ b/source/SyntaxRewriters/InliningResolver.ImplicitObjectCreationRewriter.cs @@ -10,7 +10,7 @@ internal sealed partial class InliningResolver public override SyntaxNode VisitObjectCreationExpression(ObjectCreationExpressionSyntax node) { var rewritten = (ObjectCreationExpressionSyntax)base.VisitObjectCreationExpression(node)!; - if (model.GetTypeInfo(node).Type is { } typeSymbol) + if (CanQuerySemanticModel(node) && model.GetTypeInfo(node).Type is { } typeSymbol) { var typeName = AlephMapper.Helpers.TypeDisplay.ForSymbol( typeSymbol, @@ -26,7 +26,9 @@ public override SyntaxNode VisitObjectCreationExpression(ObjectCreationExpressio public override SyntaxNode VisitImplicitObjectCreationExpression(ImplicitObjectCreationExpressionSyntax implicitNew) { - var typeSymbol = model.GetTypeInfo(implicitNew).Type; + var typeSymbol = CanQuerySemanticModel(implicitNew) + ? model.GetTypeInfo(implicitNew).Type + : null; var type = typeSymbol == null ? null : AlephMapper.Helpers.TypeDisplay.ForSymbol( @@ -60,6 +62,7 @@ public override SyntaxNode VisitImplicitObjectCreationExpression(ImplicitObjectC private bool IsAnnotatedReturnCreation(ExpressionSyntax expression) { return returnTypeToAnnotate != null && + CanQuerySemanticModel(expression) && SymbolEqualityComparer.Default.Equals( model.GetTypeInfo(expression).Type ?? model.GetTypeInfo(expression).ConvertedType, returnTypeToAnnotate); diff --git a/source/SyntaxRewriters/InliningResolver.InvocationRewriter.cs b/source/SyntaxRewriters/InliningResolver.InvocationRewriter.cs index 253b499..9e68fe8 100644 --- a/source/SyntaxRewriters/InliningResolver.InvocationRewriter.cs +++ b/source/SyntaxRewriters/InliningResolver.InvocationRewriter.cs @@ -38,11 +38,21 @@ internal sealed partial class InliningResolver( private IMethodSymbol? ResolveMethodGroupSymbol(ExpressionSyntax expr) { + if (!CanQuerySemanticModel(expr)) + { + return null; + } + var si = model.GetSymbolInfo(expr); if (si.Symbol is IMethodSymbol ms) return ms; return null; } + private bool CanQuerySemanticModel(SyntaxNode node) + { + return node.SyntaxTree == model.SyntaxTree; + } + private static IMethodSymbol? TryGetDelegateInvoke(IMethodSymbol invokedMethod, int argIndex) { if (argIndex < 0 || argIndex >= invokedMethod.Parameters.Length) return null; @@ -63,7 +73,9 @@ private void RecordCircularReference(IMethodSymbol method) public override SyntaxNode? VisitInvocationExpression(InvocationExpressionSyntax node) { - if (node.Parent == null || model.GetSymbolInfo(node.Expression).Symbol is not IMethodSymbol invokedMethod) + if (node.Parent == null || + !CanQuerySemanticModel(node) || + model.GetSymbolInfo(node.Expression).Symbol is not IMethodSymbol invokedMethod) { return base.VisitInvocationExpression(node); } diff --git a/source/SyntaxRewriters/InliningResolver.NullConditionalRewriter.cs b/source/SyntaxRewriters/InliningResolver.NullConditionalRewriter.cs index 63db9a5..e85f01c 100644 --- a/source/SyntaxRewriters/InliningResolver.NullConditionalRewriter.cs +++ b/source/SyntaxRewriters/InliningResolver.NullConditionalRewriter.cs @@ -56,6 +56,11 @@ internal partial class InliningResolver if (rewriteSupport is NullConditionalRewrite.Rewrite) { + if (!CanQuerySemanticModel(node)) + { + return base.VisitConditionalAccessExpression(node); + } + var typeInfo = model.GetTypeInfo(node); var convertedType = typeInfo.ConvertedType ?? typeInfo.Type; diff --git a/source/SyntaxRewriters/InliningResolver.StaticMemberReferenceRewriter.cs b/source/SyntaxRewriters/InliningResolver.StaticMemberReferenceRewriter.cs new file mode 100644 index 0000000..030f68b --- /dev/null +++ b/source/SyntaxRewriters/InliningResolver.StaticMemberReferenceRewriter.cs @@ -0,0 +1,38 @@ +#nullable enable + +using AlephMapper.Helpers; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; + +namespace AlephMapper.SyntaxRewriters; + +internal sealed partial class InliningResolver +{ + public override SyntaxNode? VisitMemberAccessExpression(MemberAccessExpressionSyntax node) + { + var rewritten = (MemberAccessExpressionSyntax?)base.VisitMemberAccessExpression(node); + if (rewritten == null || + !CanQuerySemanticModel(node) || + model.GetSymbolInfo(node).Symbol is not ISymbol member || + !member.IsStatic || + member.ContainingType is not ITypeSymbol containingType) + { + return rewritten; + } + + var typeName = TypeDisplay.ForSymbol( + containingType, + containingType.NullableAnnotation, + nullablePolicy); + var typeSyntax = ParseTypeName(typeName).WithTriviaFrom(rewritten.Expression); + return MemberAccessExpression( + SyntaxKind.SimpleMemberAccessExpression, + typeSyntax, + rewritten.Name) + .WithTriviaFrom(rewritten); + } +} + +#nullable restore diff --git a/source/SyntaxRewriters/InliningResolver.TypeReferenceRewriter.cs b/source/SyntaxRewriters/InliningResolver.TypeReferenceRewriter.cs index e057b38..31a6144 100644 --- a/source/SyntaxRewriters/InliningResolver.TypeReferenceRewriter.cs +++ b/source/SyntaxRewriters/InliningResolver.TypeReferenceRewriter.cs @@ -2,7 +2,9 @@ using AlephMapper.Helpers; using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; +using System.Linq; namespace AlephMapper.SyntaxRewriters; @@ -26,8 +28,58 @@ internal sealed partial class InliningResolver return rewritten?.WithType(GetFullyQualifiedTypeSyntax(node.Type, rewritten.Type)); } + public override SyntaxNode? VisitDeclarationPattern(DeclarationPatternSyntax node) + { + var rewritten = (DeclarationPatternSyntax?)base.VisitDeclarationPattern(node); + return rewritten?.WithType(GetFullyQualifiedTypeSyntax(node.Type, rewritten.Type)); + } + + public override SyntaxNode? VisitRecursivePattern(RecursivePatternSyntax node) + { + var rewritten = (RecursivePatternSyntax?)base.VisitRecursivePattern(node); + return rewritten?.WithType( + rewritten.Type == null + ? null + : GetFullyQualifiedTypeSyntax(node.Type!, rewritten.Type)); + } + + public override SyntaxNode? VisitArrayCreationExpression(ArrayCreationExpressionSyntax node) + { + var rewritten = (ArrayCreationExpressionSyntax?)base.VisitArrayCreationExpression(node); + return rewritten?.WithType( + rewritten.Type.WithElementType( + GetFullyQualifiedTypeSyntax(node.Type.ElementType, rewritten.Type.ElementType))); + } + + public override SyntaxNode? VisitSizeOfExpression(SizeOfExpressionSyntax node) + { + var rewritten = (SizeOfExpressionSyntax?)base.VisitSizeOfExpression(node); + return rewritten?.WithType(GetFullyQualifiedTypeSyntax(node.Type, rewritten.Type)); + } + + public override SyntaxNode? VisitGenericName(GenericNameSyntax node) + { + var rewritten = (GenericNameSyntax?)base.VisitGenericName(node); + if (rewritten == null) + { + return null; + } + + var typeArguments = node.TypeArgumentList.Arguments + .Zip(rewritten.TypeArgumentList.Arguments, GetFullyQualifiedTypeSyntax) + .ToList(); + return rewritten.WithTypeArgumentList( + rewritten.TypeArgumentList.WithArguments( + Microsoft.CodeAnalysis.CSharp.SyntaxFactory.SeparatedList(typeArguments))); + } + private TypeSyntax GetFullyQualifiedTypeSyntax(TypeSyntax originalType, TypeSyntax rewrittenType) { + if (!CanQuerySemanticModel(originalType)) + { + return rewrittenType; + } + var type = model.GetTypeInfo(originalType).Type; if (type is null || type.TypeKind == TypeKind.Error) { diff --git a/tests/AlephMapper.Tests/Files/AdaptBoth/Expected/Tests_PersonMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/AdaptBoth/Expected/Tests_PersonMapper_GeneratedMappings.g.cs index 69e930f..41bc10f 100644 --- a/tests/AlephMapper.Tests/Files/AdaptBoth/Expected/Tests_PersonMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/AdaptBoth/Expected/Tests_PersonMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class PersonMapper { /// diff --git a/tests/AlephMapper.Tests/Files/AdaptNested/Expected/Tests_PersonMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/AdaptNested/Expected/Tests_PersonMapper_GeneratedMappings.g.cs index d1dd10b..75b3219 100644 --- a/tests/AlephMapper.Tests/Files/AdaptNested/Expected/Tests_PersonMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/AdaptNested/Expected/Tests_PersonMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class PersonMapper { /// diff --git a/tests/AlephMapper.Tests/Files/AdaptUpdate/Expected/Tests_AdaptUpdateMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/AdaptUpdate/Expected/Tests_AdaptUpdateMapper_GeneratedMappings.g.cs index ef51df2..e8ac0d1 100644 --- a/tests/AlephMapper.Tests/Files/AdaptUpdate/Expected/Tests_AdaptUpdateMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/AdaptUpdate/Expected/Tests_AdaptUpdateMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class AdaptUpdateMapper { /// diff --git a/tests/AlephMapper.Tests/Files/CircularMapper/Expected/AlephMapper_Tests_CircularMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/CircularMapper/Expected/AlephMapper_Tests_CircularMapper_GeneratedMappings.g.cs index fa52a79..05dc2dc 100644 --- a/tests/AlephMapper.Tests/Files/CircularMapper/Expected/AlephMapper_Tests_CircularMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/CircularMapper/Expected/AlephMapper_Tests_CircularMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class CircularMapper { /// diff --git a/tests/AlephMapper.Tests/Files/CircularPropertyMapper/Expected/AlephMapper_Tests_CircularPropertyMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/CircularPropertyMapper/Expected/AlephMapper_Tests_CircularPropertyMapper_GeneratedMappings.g.cs index df9078c..074bdc0 100644 --- a/tests/AlephMapper.Tests/Files/CircularPropertyMapper/Expected/AlephMapper_Tests_CircularPropertyMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/CircularPropertyMapper/Expected/AlephMapper_Tests_CircularPropertyMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class CircularPropertyMapper { /// diff --git a/tests/AlephMapper.Tests/Files/CollectionMapper/Expected/AlephMapper_Tests_CollectionMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/CollectionMapper/Expected/AlephMapper_Tests_CollectionMapper_GeneratedMappings.g.cs index 39ee6a3..ae2127f 100644 --- a/tests/AlephMapper.Tests/Files/CollectionMapper/Expected/AlephMapper_Tests_CollectionMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/CollectionMapper/Expected/AlephMapper_Tests_CollectionMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class CollectionMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ConditionalPatternMapper/Expected/AlephMapper_Tests_ConditionalPatternMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ConditionalPatternMapper/Expected/AlephMapper_Tests_ConditionalPatternMapper_GeneratedMappings.g.cs index 0f6838c..2137a4c 100644 --- a/tests/AlephMapper.Tests/Files/ConditionalPatternMapper/Expected/AlephMapper_Tests_ConditionalPatternMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ConditionalPatternMapper/Expected/AlephMapper_Tests_ConditionalPatternMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ConditionalPatternMapper { /// diff --git a/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreIgnoreMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreIgnoreMapper_GeneratedMappings.g.cs index 403fda4..82e6e6e 100644 --- a/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreIgnoreMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreIgnoreMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class EfCoreIgnoreMapper { /// diff --git a/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreMapper_GeneratedMappings.g.cs index 29697b8..5a0638a 100644 --- a/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/EfCoreMapper/Expected/AlephMapper_Tests_EfCoreMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class EfCoreMapper { /// diff --git a/tests/AlephMapper.Tests/Files/Expressive/Expected/Tests_SampleMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/Expressive/Expected/Tests_SampleMapper_GeneratedMappings.g.cs index f5f41b6..7ca624f 100644 --- a/tests/AlephMapper.Tests/Files/Expressive/Expected/Tests_SampleMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/Expressive/Expected/Tests_SampleMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class SampleMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ConditionalExtensionTestPersonMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ConditionalExtensionTestPersonMapper_GeneratedMappings.g.cs index d0b255c..a459b2c 100644 --- a/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ConditionalExtensionTestPersonMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ConditionalExtensionTestPersonMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ConditionalExtensionTestPersonMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestAddressMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestAddressMapper_GeneratedMappings.g.cs index b127a34..2c3182c 100644 --- a/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestAddressMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestAddressMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ExtensionTestAddressMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestPersonMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestPersonMapper_GeneratedMappings.g.cs index f0c36cf..0facfc8 100644 --- a/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestPersonMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ExtensionMethodInlining/Expected/AlephMapper_Tests_ExtensionTestPersonMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ExtensionTestPersonMapper { /// diff --git a/tests/AlephMapper.Tests/Files/Mapper/Expected/AlephMapper_Tests_Mapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/Mapper/Expected/AlephMapper_Tests_Mapper_GeneratedMappings.g.cs index ed8ed3e..09e0a06 100644 --- a/tests/AlephMapper.Tests/Files/Mapper/Expected/AlephMapper_Tests_Mapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/Mapper/Expected/AlephMapper_Tests_Mapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class Mapper { /// diff --git a/tests/AlephMapper.Tests/Files/MethodGroupSpec/Expected/AlephMapper_Tests_SimpleObjectMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MethodGroupSpec/Expected/AlephMapper_Tests_SimpleObjectMapper_GeneratedMappings.g.cs index 134c842..0ce4914 100644 --- a/tests/AlephMapper.Tests/Files/MethodGroupSpec/Expected/AlephMapper_Tests_SimpleObjectMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MethodGroupSpec/Expected/AlephMapper_Tests_SimpleObjectMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class SimpleObjectMapper { /// diff --git a/tests/AlephMapper.Tests/Files/MethodGroupToEntityList/Expected/AlephMapper_Tests_MethodGroupToEntityList_PersonMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MethodGroupToEntityList/Expected/AlephMapper_Tests_MethodGroupToEntityList_PersonMapper_GeneratedMappings.g.cs index bfad459..2be95bf 100644 --- a/tests/AlephMapper.Tests/Files/MethodGroupToEntityList/Expected/AlephMapper_Tests_MethodGroupToEntityList_PersonMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MethodGroupToEntityList/Expected/AlephMapper_Tests_MethodGroupToEntityList_PersonMapper_GeneratedMappings.g.cs @@ -9,7 +9,7 @@ namespace AlephMapper.Tests.MethodGroupToEntityList; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class PersonMapper { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperIgnore_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperIgnore_GeneratedMappings.g.cs index 74053fa..3317427 100644 --- a/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperIgnore_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperIgnore_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParamExtensionInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class PersonProductMapperIgnore { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperRewrite_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperRewrite_GeneratedMappings.g.cs index ab689ee..ec67f44 100644 --- a/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperRewrite_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_PersonProductMapperRewrite_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParamExtensionInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class PersonProductMapperRewrite { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_ProductMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_ProductMapper_GeneratedMappings.g.cs index 94e93bf..73598f7 100644 --- a/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_ProductMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParamExtensionInlining/Expected/AlephMapper_Tests_MultiParamExtensionInlining_ProductMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParamExtensionInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ProductMapper { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_MultiParamProjectableMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_MultiParamProjectableMapper_GeneratedMappings.g.cs index 5b19ca4..f4168bb 100644 --- a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_MultiParamProjectableMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_MultiParamProjectableMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParameterInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class MultiParamProjectableMapper { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NamedArgMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NamedArgMapper_GeneratedMappings.g.cs index d7481e6..bfa9fbd 100644 --- a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NamedArgMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NamedArgMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParameterInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NamedArgMapper { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NestedMultiParamMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NestedMultiParamMapper_GeneratedMappings.g.cs index b4f6b6a..85ef244 100644 --- a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NestedMultiParamMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_NestedMultiParamMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParameterInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NestedMultiParamMapper { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_PersonMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_PersonMapper_GeneratedMappings.g.cs index 4acc6a9..efd39ca 100644 --- a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_PersonMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_PersonMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParameterInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class PersonMapper { /// diff --git a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_UpdatableMultiParamMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_UpdatableMultiParamMapper_GeneratedMappings.g.cs index 7b574b4..6cc72d6 100644 --- a/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_UpdatableMultiParamMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/MultiParameterInlining/Expected/AlephMapper_Tests_MultiParameterInlining_UpdatableMultiParamMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests.MultiParameterInlining; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class UpdatableMultiParamMapper { /// diff --git a/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_AddressMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_AddressMapper_GeneratedMappings.g.cs index 30fe4ec..ebaa6e7 100644 --- a/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_AddressMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_AddressMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NestedExt_AddressMapper { /// diff --git a/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Ignore_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Ignore_GeneratedMappings.g.cs index 6a1d8d3..01cc24c 100644 --- a/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Ignore_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Ignore_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NestedExt_PersonMapper_Ignore { /// diff --git a/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Rewrite_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Rewrite_GeneratedMappings.g.cs index fd30835..74a07cd 100644 --- a/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Rewrite_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NestedConditionalExtensionInlining/Expected/AlephMapper_Tests_NestedExt_PersonMapper_Rewrite_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NestedExt_PersonMapper_Rewrite { /// diff --git a/tests/AlephMapper.Tests/Files/NullCoalesceValueAssignment/Expected/AlephMapper_Tests_NullCoalesceValueAssignmentMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NullCoalesceValueAssignment/Expected/AlephMapper_Tests_NullCoalesceValueAssignmentMapper_GeneratedMappings.g.cs index f0fd778..b62dee1 100644 --- a/tests/AlephMapper.Tests/Files/NullCoalesceValueAssignment/Expected/AlephMapper_Tests_NullCoalesceValueAssignmentMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NullCoalesceValueAssignment/Expected/AlephMapper_Tests_NullCoalesceValueAssignmentMapper_GeneratedMappings.g.cs @@ -9,7 +9,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NullCoalesceValueAssignmentMapper { /// diff --git a/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_IgnoreMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_IgnoreMapper_GeneratedMappings.g.cs index 786c350..ce5c3ad 100644 --- a/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_IgnoreMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_IgnoreMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class IgnoreMapper { /// diff --git a/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_NoneMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_NoneMapper_GeneratedMappings.g.cs index e5a988c..a6ade75 100644 --- a/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_NoneMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_NoneMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NoneMapper { /// diff --git a/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_RewriteMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_RewriteMapper_GeneratedMappings.g.cs index d29ea26..38fdb90 100644 --- a/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_RewriteMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NullConditionalRewrite/Expected/AlephMapper_Tests_RewriteMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class RewriteMapper { /// diff --git a/tests/AlephMapper.Tests/Files/NullableDisabled/Expected/Tests_NullableDisabledMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NullableDisabled/Expected/Tests_NullableDisabledMapper_GeneratedMappings.g.cs index 349c11c..118a763 100644 --- a/tests/AlephMapper.Tests/Files/NullableDisabled/Expected/Tests_NullableDisabledMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NullableDisabled/Expected/Tests_NullableDisabledMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NullableDisabledMapper { /// diff --git a/tests/AlephMapper.Tests/Files/NullableEnabled/Expected/Tests_NullableEnabledMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/NullableEnabled/Expected/Tests_NullableEnabledMapper_GeneratedMappings.g.cs index 89c314d..de05401 100644 --- a/tests/AlephMapper.Tests/Files/NullableEnabled/Expected/Tests_NullableEnabledMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/NullableEnabled/Expected/Tests_NullableEnabledMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NullableEnabledMapper { /// diff --git a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtAddressMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtAddressMapper_GeneratedMappings.g.cs index 4057a5c..65c367e 100644 --- a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtAddressMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtAddressMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class TechDebtAddressMapper { /// diff --git a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperIgnore_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperIgnore_GeneratedMappings.g.cs index 875f864..6178330 100644 --- a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperIgnore_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperIgnore_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class TechDebtPersonMapperIgnore { /// diff --git a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperNone_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperNone_GeneratedMappings.g.cs index 6df1ca2..1e3ad7f 100644 --- a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperNone_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperNone_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class TechDebtPersonMapperNone { } diff --git a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperRewrite_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperRewrite_GeneratedMappings.g.cs index f45bca1..4c0709d 100644 --- a/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperRewrite_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/TechDebtFix/Expected/AlephMapper_Tests_TechDebtPersonMapperRewrite_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class TechDebtPersonMapperRewrite { /// diff --git a/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_Address1Mapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_Address1Mapper_GeneratedMappings.g.cs index 136c189..608a7b1 100644 --- a/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_Address1Mapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_Address1Mapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class Address1Mapper { /// diff --git a/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_AddressLineMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_AddressLineMapper_GeneratedMappings.g.cs index eb55b58..ba37417 100644 --- a/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_AddressLineMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_AddressLineMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class AddressLineMapper { /// diff --git a/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_TestModel1Mapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_TestModel1Mapper_GeneratedMappings.g.cs index 48af813..f7ecd24 100644 --- a/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_TestModel1Mapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/TestModel1Mapper/Expected/AlephMapper_Tests_TestModel1Mapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class TestModel1Mapper { /// diff --git a/tests/AlephMapper.Tests/Files/Updatable/Expected/Tests_SampleMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/Updatable/Expected/Tests_SampleMapper_GeneratedMappings.g.cs index 09bfd9f..d4b7b7b 100644 --- a/tests/AlephMapper.Tests/Files/Updatable/Expected/Tests_SampleMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/Updatable/Expected/Tests_SampleMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class SampleMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexPropertyMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexPropertyMapper_GeneratedMappings.g.cs index 93ddd68..355fea1 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexPropertyMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexPropertyMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ComplexPropertyMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexValueTypeMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexValueTypeMapper_GeneratedMappings.g.cs index 672a4ed..49006b3 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexValueTypeMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ComplexValueTypeMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ComplexValueTypeMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_EdgeCaseMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_EdgeCaseMapper_GeneratedMappings.g.cs index 9bc4e5c..fac27e3 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_EdgeCaseMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_EdgeCaseMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class EdgeCaseMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_MixedTypeMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_MixedTypeMapper_GeneratedMappings.g.cs index 0f10b91..5730edd 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_MixedTypeMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_MixedTypeMapper_GeneratedMappings.g.cs @@ -8,7 +8,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class MixedTypeMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_NullableValueTypeMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_NullableValueTypeMapper_GeneratedMappings.g.cs index 1b1bff7..922ec41 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_NullableValueTypeMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_NullableValueTypeMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class NullableValueTypeMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ReferenceTypeOnlyMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ReferenceTypeOnlyMapper_GeneratedMappings.g.cs index fb62db9..bf62b31 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ReferenceTypeOnlyMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ReferenceTypeOnlyMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ReferenceTypeOnlyMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_SimpleValueToReferenceMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_SimpleValueToReferenceMapper_GeneratedMappings.g.cs index 58cb6af..41a5fd5 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_SimpleValueToReferenceMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_SimpleValueToReferenceMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class SimpleValueToReferenceMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueToReferenceMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueToReferenceMapper_GeneratedMappings.g.cs index dd7c3b7..bed3c73 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueToReferenceMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueToReferenceMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ValueToReferenceMapper { /// diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeMapper_GeneratedMappings.g.cs index 89d361d..710d45e 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ValueTypeMapper { } diff --git a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeOnlyMapper_GeneratedMappings.g.cs b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeOnlyMapper_GeneratedMappings.g.cs index 6229125..805f31c 100644 --- a/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeOnlyMapper_GeneratedMappings.g.cs +++ b/tests/AlephMapper.Tests/Files/ValueTypesAndReferenceTypes/Expected/AlephMapper_Tests_ValueTypeOnlyMapper_GeneratedMappings.g.cs @@ -7,7 +7,7 @@ namespace AlephMapper.Tests; -[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.3.0")] +[global::System.CodeDom.Compiler.GeneratedCode("AlephMapper", "0.7.4.0")] partial class ValueTypeOnlyMapper { /// diff --git a/tests/AlephMapper.Tests/SourceGeneratorTests.cs b/tests/AlephMapper.Tests/SourceGeneratorTests.cs index effde33..6356739 100644 --- a/tests/AlephMapper.Tests/SourceGeneratorTests.cs +++ b/tests/AlephMapper.Tests/SourceGeneratorTests.cs @@ -377,6 +377,7 @@ public async Task GeneratedTypeReferencesAreGloballyQualified() { const string source = """ using AlephMapper; + using System.Linq; namespace Collision; @@ -388,13 +389,16 @@ public sealed class Source public string Name { get; set; } = ""; public int Status { get; set; } public int? OptionalStatus { get; set; } + public object Value { get; set; } = new(); } public sealed class Destination { public string Name { get; set; } = ""; public Status Status { get; set; } public Status? OptionalStatus { get; set; } + public object Value { get; set; } = new(); } + public sealed class Marker { } public static partial class Mapper { @@ -404,7 +408,8 @@ public static partial class Mapper { Name = source.Name, Status = (Status)source.Status, - OptionalStatus = (Status?)source.OptionalStatus + OptionalStatus = (Status?)source.OptionalStatus ?? Status.Open, + Value = source.Value as Marker ?? System.Linq.Enumerable.Empty().FirstOrDefault() ?? new Marker() }; } """; @@ -427,7 +432,10 @@ public static partial class Mapper await Assert.That(generated).Contains("global::System.Linq.Expressions.Expression>"); await Assert.That(generated).Contains("new global::Collision.Destination"); await Assert.That(generated).Contains("Status = (global::Collision.Status)source.Status"); - await Assert.That(generated).Contains("OptionalStatus = (global::Collision.Status?)source.OptionalStatus"); + await Assert.That(generated).Contains("OptionalStatus = (global::Collision.Status?)source.OptionalStatus ?? global::Collision.Status.Open"); + await Assert.That(generated).Contains("source.Value as global::Collision.Marker"); + await Assert.That(generated).Contains("Empty()"); + await Assert.That(generated).Contains("new global::Collision.Marker()"); await Assert.That(generated).Contains("dest = new global::Collision.Destination();"); }