From 220fe4f58bce594c28a3d334c3f969c0a6425739 Mon Sep 17 00:00:00 2001 From: Koen Date: Thu, 9 Mar 2023 19:15:50 +0000 Subject: [PATCH] Simplified type resolution --- .../ExpressionSyntaxRewriter.cs | 11 +++-------- ...ts.MixPrimaryConstructorAndProperties.verified.txt | 2 +- .../ProjectionExpressionGeneratorTests.cs | 1 - 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/EntityFrameworkCore.Projectables.Generator/ExpressionSyntaxRewriter.cs b/src/EntityFrameworkCore.Projectables.Generator/ExpressionSyntaxRewriter.cs index 0c53cc2..f5215c6 100644 --- a/src/EntityFrameworkCore.Projectables.Generator/ExpressionSyntaxRewriter.cs +++ b/src/EntityFrameworkCore.Projectables.Generator/ExpressionSyntaxRewriter.cs @@ -214,14 +214,9 @@ namespace EntityFrameworkCore.Projectables.Generator // if this node refers to a named type which is not yet fully qualified, we want to fully qualify it if (symbol.Kind is SymbolKind.NamedType && node.Parent?.Kind() is not SyntaxKind.QualifiedName) { - var typeInfo = _semanticModel.GetTypeInfo(node); - - if (typeInfo.Type is not null) - { - return SyntaxFactory.ParseTypeName( - typeInfo.Type.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat) - ).WithLeadingTrivia(node.GetLeadingTrivia()); - } + return SyntaxFactory.ParseTypeName( + symbol.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat) + ).WithLeadingTrivia(node.GetLeadingTrivia()); } } diff --git a/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.MixPrimaryConstructorAndProperties.verified.txt b/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.MixPrimaryConstructorAndProperties.verified.txt index 170f712..9c6adb3 100644 --- a/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.MixPrimaryConstructorAndProperties.verified.txt +++ b/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.MixPrimaryConstructorAndProperties.verified.txt @@ -7,7 +7,7 @@ namespace EntityFrameworkCore.Projectables.Generated { static global::System.Linq.Expressions.Expression> Expression() { - return (global::Foo.EntityExtensions.Entity entity) => new Entity(entity.Id) + return (global::Foo.EntityExtensions.Entity entity) => new global::Foo.EntityExtensions.Entity(entity.Id) {FullName = entity.FullName}; } } diff --git a/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.cs b/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.cs index ea06a89..36981f2 100644 --- a/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.cs +++ b/tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.cs @@ -1615,7 +1615,6 @@ class EntityBase where TId : ICloneable, new() { return Verifier.Verify(result.GeneratedTrees[0].ToString()); } - #region Helpers Compilation CreateCompilation(string source, bool expectedToCompile = true)