diff --git a/src/ExpressiveSharp.Generator/PolyfillInterceptorGenerator.cs b/src/ExpressiveSharp.Generator/PolyfillInterceptorGenerator.cs
index bbd2391e..8ab40c74 100644
--- a/src/ExpressiveSharp.Generator/PolyfillInterceptorGenerator.cs
+++ b/src/ExpressiveSharp.Generator/PolyfillInterceptorGenerator.cs
@@ -316,7 +316,7 @@ private static string ComputeOutputFileName(string sourcePath)
}
}
- /// 4-char hex tag from source path hash; disambiguates same-line/col call sites across files.
+ /// 8-char hex tag from source path hash; disambiguates same-line/col call sites across files.
private static string GetFileTag(string sourcePath)
{
unchecked
@@ -327,7 +327,7 @@ private static string GetFileTag(string sourcePath)
hash ^= (uint)sourcePath[i];
hash *= 16777619u;
}
- return (hash & 0xFFFFu).ToString("x4");
+ return hash.ToString("x8");
}
}
diff --git a/tests/ExpressiveSharp.Generator.Tests/Infrastructure/GeneratorTestBase.cs b/tests/ExpressiveSharp.Generator.Tests/Infrastructure/GeneratorTestBase.cs
index af8f79ad..8071ff68 100644
--- a/tests/ExpressiveSharp.Generator.Tests/Infrastructure/GeneratorTestBase.cs
+++ b/tests/ExpressiveSharp.Generator.Tests/Infrastructure/GeneratorTestBase.cs
@@ -96,6 +96,24 @@ protected Compilation CreateCompilation([StringSyntax("csharp")] string source,
return compilation;
}
+ protected Compilation CreateCompilation(params (string Source, string Path)[] sources)
+ {
+ var parseOptions = CreateParseOptions();
+ var trees = new List
+ {
+ CSharpSyntaxTree.ParseText(GlobalUsings, parseOptions, "GlobalUsings.cs"),
+ };
+ trees.AddRange(sources.Select(s => CSharpSyntaxTree.ParseText(s.Source, parseOptions, s.Path)));
+ var compilation = CSharpCompilation.Create(
+ "compilation",
+ trees,
+ GetDefaultReferences(),
+ new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary));
+
+ LogSourceDiagnostics(compilation);
+ return compilation;
+ }
+
protected Compilation CreateCompilation(params string[] sources)
{
var parseOptions = CreateParseOptions();
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_GeneratesInterceptor.verified.txt
index 463185a2..739a754c 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_GeneratesInterceptor.verified.txt
@@ -6,22 +6,22 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_AggregateBy_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_AggregateBy_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func1,
decimal seed,
global::System.Func __func2)
{
// Source: o => o.Tag
- var i361d10c18a_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18a_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d10c18a_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var __lambda1 = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18a_expr_0, i361d10c18a_p_o);
+ var id115361d10c18a_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18a_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d10c18a_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var __lambda1 = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18a_expr_0, id115361d10c18a_p_o);
// Source: (acc, o) => acc + o.Price
- var i361d10c18b_p_acc = global::System.Linq.Expressions.Expression.Parameter(typeof(decimal), "acc");
- var i361d10c18b_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18b_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c18b_p_o, typeof(global::TestNs.Order).GetProperty("Price", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Price
- var i361d10c18b_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Add, i361d10c18b_p_acc, i361d10c18b_expr_1);
- var __lambda2 = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18b_expr_0, i361d10c18b_p_acc, i361d10c18b_p_o);
+ var id115361d10c18b_p_acc = global::System.Linq.Expressions.Expression.Parameter(typeof(decimal), "acc");
+ var id115361d10c18b_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18b_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c18b_p_o, typeof(global::TestNs.Order).GetProperty("Price", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Price
+ var id115361d10c18b_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Add, id115361d10c18b_p_acc, id115361d10c18b_expr_1);
+ var __lambda2 = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18b_expr_0, id115361d10c18b_p_acc, id115361d10c18b_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.AggregateBy(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_WithSeedSelector_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_WithSeedSelector_GeneratesInterceptor.verified.txt
index f89dfaea..bf0eea5c 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_WithSeedSelector_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AggregateByTests.AggregateBy_WithSeedSelector_GeneratesInterceptor.verified.txt
@@ -6,26 +6,26 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_AggregateBy_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_AggregateBy_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func1,
global::System.Func __func2,
global::System.Func __func3)
{
// Source: o => o.Tag
- var i361d10c18a_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18a_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d10c18a_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var __lambda1 = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18a_expr_0, i361d10c18a_p_o);
+ var id115361d10c18a_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18a_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d10c18a_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var __lambda1 = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18a_expr_0, id115361d10c18a_p_o);
// Source: k => 0m
- var i361d10c18b_p_k = global::System.Linq.Expressions.Expression.Parameter(typeof(string), "k");
- var i361d10c18b_expr_0 = global::System.Linq.Expressions.Expression.Constant(0m, typeof(decimal)); // 0m
- var __lambda2 = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18b_expr_0, i361d10c18b_p_k);
+ var id115361d10c18b_p_k = global::System.Linq.Expressions.Expression.Parameter(typeof(string), "k");
+ var id115361d10c18b_expr_0 = global::System.Linq.Expressions.Expression.Constant(0m, typeof(decimal)); // 0m
+ var __lambda2 = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18b_expr_0, id115361d10c18b_p_k);
// Source: (acc, o) => acc + o.Price
- var i361d10c18c_p_acc = global::System.Linq.Expressions.Expression.Parameter(typeof(decimal), "acc");
- var i361d10c18c_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18c_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c18c_p_o, typeof(global::TestNs.Order).GetProperty("Price", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Price
- var i361d10c18c_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Add, i361d10c18c_p_acc, i361d10c18c_expr_1);
- var __lambda3 = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18c_expr_0, i361d10c18c_p_acc, i361d10c18c_p_o);
+ var id115361d10c18c_p_acc = global::System.Linq.Expressions.Expression.Parameter(typeof(decimal), "acc");
+ var id115361d10c18c_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18c_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c18c_p_o, typeof(global::TestNs.Order).GetProperty("Price", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Price
+ var id115361d10c18c_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Add, id115361d10c18c_p_acc, id115361d10c18c_expr_1);
+ var __lambda3 = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18c_expr_0, id115361d10c18c_p_acc, id115361d10c18c_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.AggregateBy(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Count_AfterAnonymousSelect_GeneratesScalarInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Count_AfterAnonymousSelect_GeneratesScalarInterceptor.verified.txt
index 83ec57cf..7b0c9c94 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Count_AfterAnonymousSelect_GeneratesScalarInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Count_AfterAnonymousSelect_GeneratesScalarInterceptor.verified.txt
@@ -6,32 +6,32 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static int __Polyfill_Count_361d_11_25(
+ internal static int __Polyfill_Count_d115361d_11_25(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: x => x.Total > 0m
- var i361d11c25_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
- var i361d11c25_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d11c25_p_x, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Total
- var i361d11c25_expr_2 = global::System.Linq.Expressions.Expression.Constant(0m, typeof(decimal)); // 0m
- var i361d11c25_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, i361d11c25_expr_1, i361d11c25_expr_2);
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c25_expr_0, i361d11c25_p_x);
+ var id115361d11c25_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
+ var id115361d11c25_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d11c25_p_x, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Total
+ var id115361d11c25_expr_2 = global::System.Linq.Expressions.Expression.Constant(0m, typeof(decimal)); // 0m
+ var id115361d11c25_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, id115361d11c25_expr_1, id115361d11c25_expr_2);
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c25_expr_0, id115361d11c25_p_x);
return global::System.Linq.Queryable.Count(
(global::System.Linq.IQueryable)(object)source,
__lambda);
}
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_361d_10_25(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_d115361d_10_25(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => new { o.Id, o.Total }
- var i361d10c25_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
- var i361d10c25_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c25_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
- var i361d10c25_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d10c25_p_o, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Total
- var i361d10c25_expr_3 = typeof(T1).GetConstructors()[0];
- var i361d10c25_expr_0 = global::System.Linq.Expressions.Expression.New(i361d10c25_expr_3, new global::System.Linq.Expressions.Expression[] { i361d10c25_expr_1, i361d10c25_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Total") });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c25_expr_0, i361d10c25_p_o);
+ var id115361d10c25_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
+ var id115361d10c25_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c25_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
+ var id115361d10c25_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d10c25_p_o, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Total
+ var id115361d10c25_expr_3 = typeof(T1).GetConstructors()[0];
+ var id115361d10c25_expr_0 = global::System.Linq.Expressions.Expression.New(id115361d10c25_expr_3, new global::System.Linq.Expressions.Expression[] { id115361d10c25_expr_1, id115361d10c25_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Total") });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c25_expr_0, id115361d10c25_p_o);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Select(
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.DistinctBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.DistinctBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
index 09ac24be..65e9b7b4 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.DistinctBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.DistinctBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
@@ -6,14 +6,14 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_DistinctBy_361d_11_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_DistinctBy_d115361d_11_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: x => x.Category
- var i361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
- var i361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d11c18_p_x, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Category
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c18_expr_0, i361d11c18_p_x);
+ var id115361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
+ var id115361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_p_x, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Category
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c18_expr_0, id115361d11c18_p_x);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.DistinctBy(
@@ -21,17 +21,17 @@ namespace ExpressiveSharp.Generated.Interceptors
__lambda));
}
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => new { o.Id, o.Category }
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
- var i361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
- var i361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Category
- var i361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(i361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { i361d10c18_expr_1, i361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Category") });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
+ var id115361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
+ var id115361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Category
+ var id115361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(id115361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { id115361d10c18_expr_1, id115361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Category") });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Select(
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.GroupBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.GroupBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
index d4dfb034..5fa80e4b 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.GroupBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.GroupBy_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
@@ -6,14 +6,14 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_GroupBy_361d_11_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_GroupBy_d115361d_11_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: x => x.Category
- var i361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
- var i361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d11c18_p_x, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Category
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c18_expr_0, i361d11c18_p_x);
+ var id115361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
+ var id115361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_p_x, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Category
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c18_expr_0, id115361d11c18_p_x);
return (global::ExpressiveSharp.IExpressiveQueryable>)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.GroupBy(
@@ -21,17 +21,17 @@ namespace ExpressiveSharp.Generated.Interceptors
__lambda));
}
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => new { o.Id, o.Category }
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
- var i361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
- var i361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Category
- var i361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(i361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { i361d10c18_expr_1, i361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Category") });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
+ var id115361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
+ var id115361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Category", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Category
+ var id115361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(id115361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { id115361d10c18_expr_1, id115361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Category") });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Select(
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.OrderByDescending_AfterAnonymousSelect_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.OrderByDescending_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
index 56b74d56..e2662b91 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.OrderByDescending_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.OrderByDescending_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
@@ -6,14 +6,14 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_OrderByDescending_361d_11_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_OrderByDescending_d115361d_11_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: x => x.Name
- var i361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
- var i361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d11c18_p_x, typeof(T0).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Name
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c18_expr_0, i361d11c18_p_x);
+ var id115361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
+ var id115361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_p_x, typeof(T0).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Name
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c18_expr_0, id115361d11c18_p_x);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.OrderByDescending(
@@ -21,17 +21,17 @@ namespace ExpressiveSharp.Generated.Interceptors
__lambda));
}
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => new { o.Id, o.Name }
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
- var i361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
- var i361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Name
- var i361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(i361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { i361d10c18_expr_1, i361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Name") });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
+ var id115361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
+ var id115361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Name
+ var id115361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(id115361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { id115361d10c18_expr_1, id115361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Name") });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Select(
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Select_AfterAnonymousSelect_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Select_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
index ae7a9ca9..0c6464db 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Select_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Select_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
@@ -6,14 +6,14 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_361d_11_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_d115361d_11_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: x => x.Id
- var i361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
- var i361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d11c18_p_x, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Id
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c18_expr_0, i361d11c18_p_x);
+ var id115361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
+ var id115361d11c18_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_p_x, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Id
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c18_expr_0, id115361d11c18_p_x);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Select(
@@ -21,17 +21,17 @@ namespace ExpressiveSharp.Generated.Interceptors
__lambda));
}
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => new { o.Id, o.Name }
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
- var i361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
- var i361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Name
- var i361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(i361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { i361d10c18_expr_1, i361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Name") });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
+ var id115361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
+ var id115361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Name
+ var id115361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(id115361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { id115361d10c18_expr_1, id115361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Name") });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Select(
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Where_AfterAnonymousSelect_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Where_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
index cd5d8145..cbeae74f 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Where_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/AnonymousElementTests.Where_AfterAnonymousSelect_GeneratesInterceptor.verified.txt
@@ -6,16 +6,16 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Where_361d_11_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Where_d115361d_11_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: x => x.Total > 100m
- var i361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
- var i361d11c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d11c18_p_x, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Total
- var i361d11c18_expr_2 = global::System.Linq.Expressions.Expression.Constant(100m, typeof(decimal)); // 100m
- var i361d11c18_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, i361d11c18_expr_1, i361d11c18_expr_2);
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c18_expr_0, i361d11c18_p_x);
+ var id115361d11c18_p_x = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "x");
+ var id115361d11c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_p_x, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // x.Total
+ var id115361d11c18_expr_2 = global::System.Linq.Expressions.Expression.Constant(100m, typeof(decimal)); // 100m
+ var id115361d11c18_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, id115361d11c18_expr_1, id115361d11c18_expr_2);
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c18_expr_0, id115361d11c18_p_x);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Where(
@@ -23,17 +23,17 @@ namespace ExpressiveSharp.Generated.Interceptors
__lambda));
}
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Select_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => new { o.Id, o.Total }
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
- var i361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
- var i361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Total
- var i361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(i361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { i361d10c18_expr_1, i361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Total") });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(T0), "o");
+ var id115361d10c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Id", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Id
+ var id115361d10c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(T0).GetProperty("Total", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Total
+ var id115361d10c18_expr_3 = typeof(T1).GetConstructors()[0];
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.New(id115361d10c18_expr_3, new global::System.Linq.Expressions.Expression[] { id115361d10c18_expr_1, id115361d10c18_expr_2 }, new global::System.Reflection.MemberInfo[] { typeof(T1).GetProperty("Id"), typeof(T1).GetProperty("Total") });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return (global::ExpressiveSharp.IExpressiveQueryable)(object)
global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Select(
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.DistinctBy_WithComparer_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.DistinctBy_WithComparer_GeneratesInterceptor.verified.txt
index 1f28e796..52104fd5 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.DistinctBy_WithComparer_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.DistinctBy_WithComparer_GeneratesInterceptor.verified.txt
@@ -6,15 +6,15 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_DistinctBy_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_DistinctBy_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func,
global::System.Collections.Generic.IEqualityComparer comparer)
{
// Source: o => o.Tag
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.DistinctBy(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.GroupBy_WithComparer_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.GroupBy_WithComparer_GeneratesInterceptor.verified.txt
index 4ea53b4e..7f2f2513 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.GroupBy_WithComparer_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.GroupBy_WithComparer_GeneratesInterceptor.verified.txt
@@ -6,15 +6,15 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_GroupBy_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_GroupBy_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func,
global::System.Collections.Generic.IEqualityComparer comparer)
{
// Source: o => o.Tag
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.GroupBy(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.OrderBy_WithComparer_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.OrderBy_WithComparer_GeneratesInterceptor.verified.txt
index 8ebcca91..1a729922 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.OrderBy_WithComparer_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.OrderBy_WithComparer_GeneratesInterceptor.verified.txt
@@ -6,15 +6,15 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_OrderBy_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_OrderBy_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func,
global::System.Collections.Generic.IComparer comparer)
{
// Source: o => o.Tag
- var i361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d10c18_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18_expr_0, i361d10c18_p_o);
+ var id115361d10c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d10c18_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18_expr_0, id115361d10c18_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.OrderBy(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdateAsync_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdateAsync_GeneratesInterceptor.verified.txt
index ea22f6c8..dd450026 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdateAsync_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdateAsync_GeneratesInterceptor.verified.txt
@@ -6,19 +6,19 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::System.Threading.Tasks.Task __Polyfill_ExecuteUpdateAsync_361d_58_24(
+ internal static global::System.Threading.Tasks.Task __Polyfill_ExecuteUpdateAsync_d115361d_58_24(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func, global::TestNs.SetPropertyCalls> __func,
global::System.Threading.CancellationToken cancellationToken)
{
// Source: s => s.SetProperty(o => o.Tag, "updated")
- var i361d58c24_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
- var i361d58c24_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
- var i361d58c24_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d58c24_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var i361d58c24_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(i361d58c24_expr_2, i361d58c24_p_o_1);
- var i361d58c24_expr_4 = global::System.Linq.Expressions.Expression.Constant("updated", typeof(string)); // "updated"
- var i361d58c24_expr_0 = global::System.Linq.Expressions.Expression.Call(i361d58c24_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericParameter && !m.GetParameters()[1].ParameterType.IsGenericType)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { i361d58c24_expr_3, i361d58c24_expr_4 });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(i361d58c24_expr_0, i361d58c24_p_s);
+ var id115361d58c24_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
+ var id115361d58c24_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
+ var id115361d58c24_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d58c24_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var id115361d58c24_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(id115361d58c24_expr_2, id115361d58c24_p_o_1);
+ var id115361d58c24_expr_4 = global::System.Linq.Expressions.Expression.Constant("updated", typeof(string)); // "updated"
+ var id115361d58c24_expr_0 = global::System.Linq.Expressions.Expression.Call(id115361d58c24_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericParameter && !m.GetParameters()[1].ParameterType.IsGenericType)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { id115361d58c24_expr_3, id115361d58c24_expr_4 });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(id115361d58c24_expr_0, id115361d58c24_p_s);
return global::TestNs.MockRelationalExtensions.ExecuteUpdateAsync(
(global::System.Linq.IQueryable)source,
__lambda,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_ConstantValue.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_ConstantValue.verified.txt
index d746d599..f679cf96 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_ConstantValue.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_ConstantValue.verified.txt
@@ -6,18 +6,18 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static int __Polyfill_ExecuteUpdate_361d_58_18(
+ internal static int __Polyfill_ExecuteUpdate_d115361d_58_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func, global::TestNs.SetPropertyCalls> __func)
{
// Source: s => s.SetProperty(o => o.Tag, "updated")
- var i361d58c18_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
- var i361d58c18_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
- var i361d58c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d58c18_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var i361d58c18_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(i361d58c18_expr_2, i361d58c18_p_o_1);
- var i361d58c18_expr_4 = global::System.Linq.Expressions.Expression.Constant("updated", typeof(string)); // "updated"
- var i361d58c18_expr_0 = global::System.Linq.Expressions.Expression.Call(i361d58c18_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericParameter && !m.GetParameters()[1].ParameterType.IsGenericType)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { i361d58c18_expr_3, i361d58c18_expr_4 });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(i361d58c18_expr_0, i361d58c18_p_s);
+ var id115361d58c18_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
+ var id115361d58c18_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
+ var id115361d58c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d58c18_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var id115361d58c18_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(id115361d58c18_expr_2, id115361d58c18_p_o_1);
+ var id115361d58c18_expr_4 = global::System.Linq.Expressions.Expression.Constant("updated", typeof(string)); // "updated"
+ var id115361d58c18_expr_0 = global::System.Linq.Expressions.Expression.Call(id115361d58c18_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericParameter && !m.GetParameters()[1].ParameterType.IsGenericType)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { id115361d58c18_expr_3, id115361d58c18_expr_4 });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(id115361d58c18_expr_0, id115361d58c18_p_s);
return global::TestNs.MockRelationalExtensions.ExecuteUpdate(
(global::System.Linq.IQueryable)source,
__lambda);
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithNullConditional.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithNullConditional.verified.txt
index d1147ffe..45708825 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithNullConditional.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithNullConditional.verified.txt
@@ -6,27 +6,27 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static int __Polyfill_ExecuteUpdate_361d_63_18(
+ internal static int __Polyfill_ExecuteUpdate_d115361d_63_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func, global::TestNs.SetPropertyCalls> __func)
{
// Source: s => s.SetProperty(o => o.Tag, o => o.Customer?.Name ?? "none")
- var i361d63c18_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
- var i361d63c18_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
- var i361d63c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d63c18_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var i361d63c18_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(i361d63c18_expr_2, i361d63c18_p_o_1);
- var i361d63c18_p_o_4 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Customer?.Name ?? "none"
- var i361d63c18_expr_6 = global::System.Linq.Expressions.Expression.Property(i361d63c18_p_o_4, typeof(global::TestNs.Order).GetProperty("Customer", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Customer
- var i361d63c18_expr_7 = global::System.Linq.Expressions.Expression.Property(i361d63c18_expr_6, typeof(global::TestNs.Customer).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Name
- var i361d63c18_expr_9 = global::System.Linq.Expressions.Expression.Constant(null, typeof(global::TestNs.Customer));
- var i361d63c18_expr_10 = global::System.Linq.Expressions.Expression.NotEqual(i361d63c18_expr_6, i361d63c18_expr_9);
- var i361d63c18_expr_11 = global::System.Linq.Expressions.Expression.Default(typeof(string));
- var i361d63c18_expr_8 = global::System.Linq.Expressions.Expression.Condition(i361d63c18_expr_10, i361d63c18_expr_7, i361d63c18_expr_11, typeof(string));
- var i361d63c18_expr_12 = global::System.Linq.Expressions.Expression.Constant("none", typeof(string)); // "none"
- var i361d63c18_expr_5 = global::System.Linq.Expressions.Expression.Coalesce(i361d63c18_expr_8, i361d63c18_expr_12);
- var i361d63c18_expr_13 = global::System.Linq.Expressions.Expression.Lambda>(i361d63c18_expr_5, i361d63c18_p_o_4);
- var i361d63c18_expr_0 = global::System.Linq.Expressions.Expression.Call(i361d63c18_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericType && !m.GetParameters()[1].ParameterType.IsGenericParameter)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { i361d63c18_expr_3, i361d63c18_expr_13 });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(i361d63c18_expr_0, i361d63c18_p_s);
+ var id115361d63c18_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
+ var id115361d63c18_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
+ var id115361d63c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d63c18_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var id115361d63c18_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(id115361d63c18_expr_2, id115361d63c18_p_o_1);
+ var id115361d63c18_p_o_4 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Customer?.Name ?? "none"
+ var id115361d63c18_expr_6 = global::System.Linq.Expressions.Expression.Property(id115361d63c18_p_o_4, typeof(global::TestNs.Order).GetProperty("Customer", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Customer
+ var id115361d63c18_expr_7 = global::System.Linq.Expressions.Expression.Property(id115361d63c18_expr_6, typeof(global::TestNs.Customer).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Name
+ var id115361d63c18_expr_9 = global::System.Linq.Expressions.Expression.Constant(null, typeof(global::TestNs.Customer));
+ var id115361d63c18_expr_10 = global::System.Linq.Expressions.Expression.NotEqual(id115361d63c18_expr_6, id115361d63c18_expr_9);
+ var id115361d63c18_expr_11 = global::System.Linq.Expressions.Expression.Default(typeof(string));
+ var id115361d63c18_expr_8 = global::System.Linq.Expressions.Expression.Condition(id115361d63c18_expr_10, id115361d63c18_expr_7, id115361d63c18_expr_11, typeof(string));
+ var id115361d63c18_expr_12 = global::System.Linq.Expressions.Expression.Constant("none", typeof(string)); // "none"
+ var id115361d63c18_expr_5 = global::System.Linq.Expressions.Expression.Coalesce(id115361d63c18_expr_8, id115361d63c18_expr_12);
+ var id115361d63c18_expr_13 = global::System.Linq.Expressions.Expression.Lambda>(id115361d63c18_expr_5, id115361d63c18_p_o_4);
+ var id115361d63c18_expr_0 = global::System.Linq.Expressions.Expression.Call(id115361d63c18_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericType && !m.GetParameters()[1].ParameterType.IsGenericParameter)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { id115361d63c18_expr_3, id115361d63c18_expr_13 });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(id115361d63c18_expr_0, id115361d63c18_p_s);
return global::TestNs.MockRelationalExtensions.ExecuteUpdate(
(global::System.Linq.IQueryable)source,
__lambda);
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithSwitchExpression.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithSwitchExpression.verified.txt
index 236b4be1..62b7b2d3 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithSwitchExpression.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_WithSwitchExpression.verified.txt
@@ -6,29 +6,29 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static int __Polyfill_ExecuteUpdate_361d_62_18(
+ internal static int __Polyfill_ExecuteUpdate_d115361d_62_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func, global::TestNs.SetPropertyCalls> __func)
{
// Source: s => s.SetProperty(o => o.Tag, o => o.Amount switch { > 100 => "high", > 50 => "medium", _ => "low" })
- var i361d62c18_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
- var i361d62c18_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
- var i361d62c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d62c18_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var i361d62c18_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(i361d62c18_expr_2, i361d62c18_p_o_1);
- var i361d62c18_p_o_4 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Amount switch { ...
- var i361d62c18_expr_5 = global::System.Linq.Expressions.Expression.Property(i361d62c18_p_o_4, typeof(global::TestNs.Order).GetProperty("Amount", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Amount
- var i361d62c18_expr_6 = global::System.Linq.Expressions.Expression.Constant("low", typeof(string)); // "low"
- var i361d62c18_expr_8 = global::System.Linq.Expressions.Expression.Constant(50, typeof(int)); // 50
- var i361d62c18_expr_7 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, i361d62c18_expr_5, i361d62c18_expr_8);
- var i361d62c18_expr_9 = global::System.Linq.Expressions.Expression.Constant("medium", typeof(string)); // "medium"
- var i361d62c18_expr_10 = global::System.Linq.Expressions.Expression.Condition(i361d62c18_expr_7, i361d62c18_expr_9, i361d62c18_expr_6, typeof(string));
- var i361d62c18_expr_12 = global::System.Linq.Expressions.Expression.Constant(100, typeof(int)); // 100
- var i361d62c18_expr_11 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, i361d62c18_expr_5, i361d62c18_expr_12);
- var i361d62c18_expr_13 = global::System.Linq.Expressions.Expression.Constant("high", typeof(string)); // "high"
- var i361d62c18_expr_14 = global::System.Linq.Expressions.Expression.Condition(i361d62c18_expr_11, i361d62c18_expr_13, i361d62c18_expr_10, typeof(string));
- var i361d62c18_expr_15 = global::System.Linq.Expressions.Expression.Lambda>(i361d62c18_expr_14, i361d62c18_p_o_4);
- var i361d62c18_expr_0 = global::System.Linq.Expressions.Expression.Call(i361d62c18_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericType && !m.GetParameters()[1].ParameterType.IsGenericParameter)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { i361d62c18_expr_3, i361d62c18_expr_15 });
- var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(i361d62c18_expr_0, i361d62c18_p_s);
+ var id115361d62c18_p_s = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.SetPropertyCalls), "s");
+ var id115361d62c18_p_o_1 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Tag
+ var id115361d62c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d62c18_p_o_1, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var id115361d62c18_expr_3 = global::System.Linq.Expressions.Expression.Lambda>(id115361d62c18_expr_2, id115361d62c18_p_o_1);
+ var id115361d62c18_p_o_4 = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o"); // o => o.Amount switch { ...
+ var id115361d62c18_expr_5 = global::System.Linq.Expressions.Expression.Property(id115361d62c18_p_o_4, typeof(global::TestNs.Order).GetProperty("Amount", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Amount
+ var id115361d62c18_expr_6 = global::System.Linq.Expressions.Expression.Constant("low", typeof(string)); // "low"
+ var id115361d62c18_expr_8 = global::System.Linq.Expressions.Expression.Constant(50, typeof(int)); // 50
+ var id115361d62c18_expr_7 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, id115361d62c18_expr_5, id115361d62c18_expr_8);
+ var id115361d62c18_expr_9 = global::System.Linq.Expressions.Expression.Constant("medium", typeof(string)); // "medium"
+ var id115361d62c18_expr_10 = global::System.Linq.Expressions.Expression.Condition(id115361d62c18_expr_7, id115361d62c18_expr_9, id115361d62c18_expr_6, typeof(string));
+ var id115361d62c18_expr_12 = global::System.Linq.Expressions.Expression.Constant(100, typeof(int)); // 100
+ var id115361d62c18_expr_11 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.GreaterThan, id115361d62c18_expr_5, id115361d62c18_expr_12);
+ var id115361d62c18_expr_13 = global::System.Linq.Expressions.Expression.Constant("high", typeof(string)); // "high"
+ var id115361d62c18_expr_14 = global::System.Linq.Expressions.Expression.Condition(id115361d62c18_expr_11, id115361d62c18_expr_13, id115361d62c18_expr_10, typeof(string));
+ var id115361d62c18_expr_15 = global::System.Linq.Expressions.Expression.Lambda>(id115361d62c18_expr_14, id115361d62c18_p_o_4);
+ var id115361d62c18_expr_0 = global::System.Linq.Expressions.Expression.Call(id115361d62c18_p_s, global::System.Linq.Enumerable.First(global::System.Linq.Enumerable.Where(typeof(global::TestNs.SetPropertyCalls).GetMethods(global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance), m => m.Name == "SetProperty" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1 && m.GetParameters().Length == 2 && m.GetParameters()[0].ParameterType.IsGenericType && !m.GetParameters()[0].ParameterType.IsGenericParameter && m.GetParameters()[1].ParameterType.IsGenericType && !m.GetParameters()[1].ParameterType.IsGenericParameter)).MakeGenericMethod(typeof(string)), new global::System.Linq.Expressions.Expression[] { id115361d62c18_expr_3, id115361d62c18_expr_15 });
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda, global::TestNs.SetPropertyCalls>>(id115361d62c18_expr_0, id115361d62c18_p_s);
return global::TestNs.MockRelationalExtensions.ExecuteUpdate(
(global::System.Linq.IQueryable)source,
__lambda);
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GeneratedOutputCompilationTests.cs b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GeneratedOutputCompilationTests.cs
new file mode 100644
index 00000000..e04c209f
--- /dev/null
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GeneratedOutputCompilationTests.cs
@@ -0,0 +1,108 @@
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.CodeAnalysis;
+using Microsoft.CodeAnalysis.CSharp;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using ExpressiveSharp.Generator.Tests.Infrastructure;
+
+namespace ExpressiveSharp.Generator.Tests.PolyfillInterceptorGenerator;
+
+[TestClass]
+public class GeneratedOutputCompilationTests : GeneratorTestBase
+{
+ private (GeneratorDriverRunResult Result, Compilation Output) RunInterceptorGenerator(Compilation compilation)
+ {
+ var subject = new global::ExpressiveSharp.Generator.PolyfillInterceptorGenerator();
+ GeneratorDriver driver = CSharpGeneratorDriver
+ .Create(subject)
+ .WithUpdatedParseOptions((CSharpParseOptions)compilation.SyntaxTrees.First().Options);
+
+ driver = driver.RunGeneratorsAndUpdateCompilation(compilation, out var outputCompilation, out _);
+ var result = driver.GetRunResult();
+
+ foreach (var tree in result.GeneratedTrees)
+ {
+ TestContext.WriteLine($"Generated: {tree.FilePath}");
+ TestContext.WriteLine(tree.GetText().ToString());
+ }
+
+ return (result, outputCompilation);
+ }
+
+ private static string FormatErrors(Compilation output) =>
+ string.Join("\n", output.GetDiagnostics()
+ .Where(d => d.Severity == DiagnosticSeverity.Error)
+ .Select(d => d.ToString()));
+
+ [TestMethod]
+ public void CollidingFileTags_SameCallPosition_InterceptorsCompile()
+ {
+ var (pathA, pathB) = FindCollidingPaths();
+ TestContext.WriteLine($"Colliding paths: {pathA} / {pathB} (tag 0x{Fnv1a(pathA) & 0xFFFF:x4})");
+
+ const string sharedSource =
+ """
+ namespace Shared { public class Order { public string Tag { get; set; } } }
+ """;
+ const string sourceTemplate =
+ """
+ using ExpressiveSharp;
+ using Shared;
+
+ namespace {0}
+ {{
+ class TestClass
+ {{
+ public void Run(System.Linq.IQueryable query)
+ {{
+ query.AsExpressive().Where(o => o.Tag != null).ToList();
+ }}
+ }}
+ }}
+ """;
+
+ var compilation = CreateCompilation(
+ (sharedSource, "Shared.cs"),
+ (string.Format(sourceTemplate, "NsA"), pathA),
+ (string.Format(sourceTemplate, "NsB"), pathB));
+
+ var (result, output) = RunInterceptorGenerator(compilation);
+
+ Assert.AreEqual(2, result.GeneratedTrees.Length, "Expected one interceptor file per source file.");
+
+ var errors = output.GetDiagnostics().Where(d => d.Severity == DiagnosticSeverity.Error).ToList();
+ Assert.AreEqual(0, errors.Count,
+ "Interceptors from files with colliding 16-bit path tags must not clash. Errors:\n"
+ + FormatErrors(output));
+ }
+
+ private static uint Fnv1a(string s)
+ {
+ unchecked
+ {
+ var hash = 2166136261u;
+ for (var i = 0; i < s.Length; i++)
+ {
+ hash ^= (uint)s[i];
+ hash *= 16777619u;
+ }
+ return hash;
+ }
+ }
+
+ private static (string PathA, string PathB) FindCollidingPaths()
+ {
+ var seen = new Dictionary();
+ for (var i = 0; ; i++)
+ {
+ var path = $"File{i}.cs";
+ var hash = Fnv1a(path);
+ var tag = hash & 0xFFFFu;
+ if (seen.TryGetValue(tag, out var other) && other.Hash != hash)
+ {
+ return (other.Path, path);
+ }
+ seen[tag] = (path, hash);
+ }
+ }
+}
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Polyfill_GlobalNullConditionalIgnore_UsesIgnoreMode.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Polyfill_GlobalNullConditionalIgnore_UsesIgnoreMode.verified.txt
index 491bd459..338fe70e 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Polyfill_GlobalNullConditionalIgnore_UsesIgnoreMode.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Polyfill_GlobalNullConditionalIgnore_UsesIgnoreMode.verified.txt
@@ -6,19 +6,19 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::System.Linq.Expressions.Expression> __Polyfill_Create_361d_9_68(
+ internal static global::System.Linq.Expressions.Expression> __Polyfill_Create_d115361d_9_68(
global::System.Func __func)
{
// Source: o => o.Tag?.Length
- var i361d9c68_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d9c68_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d9c68_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var i361d9c68_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d9c68_expr_0, typeof(string).GetProperty("Length", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Length
- var i361d9c68_expr_2 = global::System.Linq.Expressions.Expression.Convert(i361d9c68_expr_1, typeof(int?));
- var i361d9c68_expr_4 = global::System.Linq.Expressions.Expression.Constant(null, typeof(string));
- var i361d9c68_expr_5 = global::System.Linq.Expressions.Expression.NotEqual(i361d9c68_expr_0, i361d9c68_expr_4);
- var i361d9c68_expr_6 = global::System.Linq.Expressions.Expression.Default(typeof(int?));
- var i361d9c68_expr_3 = global::System.Linq.Expressions.Expression.Condition(i361d9c68_expr_5, i361d9c68_expr_2, i361d9c68_expr_6, typeof(int?));
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d9c68_expr_3, i361d9c68_p_o);
+ var id115361d9c68_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d9c68_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d9c68_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var id115361d9c68_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d9c68_expr_0, typeof(string).GetProperty("Length", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Length
+ var id115361d9c68_expr_2 = global::System.Linq.Expressions.Expression.Convert(id115361d9c68_expr_1, typeof(int?));
+ var id115361d9c68_expr_4 = global::System.Linq.Expressions.Expression.Constant(null, typeof(string));
+ var id115361d9c68_expr_5 = global::System.Linq.Expressions.Expression.NotEqual(id115361d9c68_expr_0, id115361d9c68_expr_4);
+ var id115361d9c68_expr_6 = global::System.Linq.Expressions.Expression.Default(typeof(int?));
+ var id115361d9c68_expr_3 = global::System.Linq.Expressions.Expression.Condition(id115361d9c68_expr_5, id115361d9c68_expr_2, id115361d9c68_expr_6, typeof(int?));
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d9c68_expr_3, id115361d9c68_p_o);
return __lambda;
}
}
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_GlobalNullConditionalRewrite_AppliesWithoutPerCallOverride.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_GlobalNullConditionalRewrite_AppliesWithoutPerCallOverride.verified.txt
index 28857ced..59778e5c 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_GlobalNullConditionalRewrite_AppliesWithoutPerCallOverride.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_GlobalNullConditionalRewrite_AppliesWithoutPerCallOverride.verified.txt
@@ -6,21 +6,21 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Where_361d_11_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Where_d115361d_11_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => o.Customer?.Name == "Alice"
- var i361d11c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d11c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d11c18_p_o, typeof(global::TestNs.Order).GetProperty("Customer", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Customer
- var i361d11c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d11c18_expr_1, typeof(global::TestNs.Customer).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Name
- var i361d11c18_expr_4 = global::System.Linq.Expressions.Expression.Constant(null, typeof(global::TestNs.Customer));
- var i361d11c18_expr_5 = global::System.Linq.Expressions.Expression.NotEqual(i361d11c18_expr_1, i361d11c18_expr_4);
- var i361d11c18_expr_6 = global::System.Linq.Expressions.Expression.Default(typeof(string));
- var i361d11c18_expr_3 = global::System.Linq.Expressions.Expression.Condition(i361d11c18_expr_5, i361d11c18_expr_2, i361d11c18_expr_6, typeof(string));
- var i361d11c18_expr_7 = global::System.Linq.Expressions.Expression.Constant("Alice", typeof(string)); // "Alice"
- var i361d11c18_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Equal, i361d11c18_expr_3, i361d11c18_expr_7);
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c18_expr_0, i361d11c18_p_o);
+ var id115361d11c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d11c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_p_o, typeof(global::TestNs.Order).GetProperty("Customer", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Customer
+ var id115361d11c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_expr_1, typeof(global::TestNs.Customer).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Name
+ var id115361d11c18_expr_4 = global::System.Linq.Expressions.Expression.Constant(null, typeof(global::TestNs.Customer));
+ var id115361d11c18_expr_5 = global::System.Linq.Expressions.Expression.NotEqual(id115361d11c18_expr_1, id115361d11c18_expr_4);
+ var id115361d11c18_expr_6 = global::System.Linq.Expressions.Expression.Default(typeof(string));
+ var id115361d11c18_expr_3 = global::System.Linq.Expressions.Expression.Condition(id115361d11c18_expr_5, id115361d11c18_expr_2, id115361d11c18_expr_6, typeof(string));
+ var id115361d11c18_expr_7 = global::System.Linq.Expressions.Expression.Constant("Alice", typeof(string)); // "Alice"
+ var id115361d11c18_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Equal, id115361d11c18_expr_3, id115361d11c18_expr_7);
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c18_expr_0, id115361d11c18_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Where(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_PerCallOverridesGlobal.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_PerCallOverridesGlobal.verified.txt
index 28857ced..59778e5c 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_PerCallOverridesGlobal.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_PerCallOverridesGlobal.verified.txt
@@ -6,21 +6,21 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Where_361d_11_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_Where_d115361d_11_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => o.Customer?.Name == "Alice"
- var i361d11c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d11c18_expr_1 = global::System.Linq.Expressions.Expression.Property(i361d11c18_p_o, typeof(global::TestNs.Order).GetProperty("Customer", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Customer
- var i361d11c18_expr_2 = global::System.Linq.Expressions.Expression.Property(i361d11c18_expr_1, typeof(global::TestNs.Customer).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Name
- var i361d11c18_expr_4 = global::System.Linq.Expressions.Expression.Constant(null, typeof(global::TestNs.Customer));
- var i361d11c18_expr_5 = global::System.Linq.Expressions.Expression.NotEqual(i361d11c18_expr_1, i361d11c18_expr_4);
- var i361d11c18_expr_6 = global::System.Linq.Expressions.Expression.Default(typeof(string));
- var i361d11c18_expr_3 = global::System.Linq.Expressions.Expression.Condition(i361d11c18_expr_5, i361d11c18_expr_2, i361d11c18_expr_6, typeof(string));
- var i361d11c18_expr_7 = global::System.Linq.Expressions.Expression.Constant("Alice", typeof(string)); // "Alice"
- var i361d11c18_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Equal, i361d11c18_expr_3, i361d11c18_expr_7);
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d11c18_expr_0, i361d11c18_p_o);
+ var id115361d11c18_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d11c18_expr_1 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_p_o, typeof(global::TestNs.Order).GetProperty("Customer", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Customer
+ var id115361d11c18_expr_2 = global::System.Linq.Expressions.Expression.Property(id115361d11c18_expr_1, typeof(global::TestNs.Customer).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // .Name
+ var id115361d11c18_expr_4 = global::System.Linq.Expressions.Expression.Constant(null, typeof(global::TestNs.Customer));
+ var id115361d11c18_expr_5 = global::System.Linq.Expressions.Expression.NotEqual(id115361d11c18_expr_1, id115361d11c18_expr_4);
+ var id115361d11c18_expr_6 = global::System.Linq.Expressions.Expression.Default(typeof(string));
+ var id115361d11c18_expr_3 = global::System.Linq.Expressions.Expression.Condition(id115361d11c18_expr_5, id115361d11c18_expr_2, id115361d11c18_expr_6, typeof(string));
+ var id115361d11c18_expr_7 = global::System.Linq.Expressions.Expression.Constant("Alice", typeof(string)); // "Alice"
+ var id115361d11c18_expr_0 = global::System.Linq.Expressions.Expression.MakeBinary(global::System.Linq.Expressions.ExpressionType.Equal, id115361d11c18_expr_3, id115361d11c18_expr_7);
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d11c18_expr_0, id115361d11c18_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.Where(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_GeneratesGroupingReturnType.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_GeneratesGroupingReturnType.verified.txt
index 8436bced..43588c62 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_GeneratesGroupingReturnType.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_GeneratesGroupingReturnType.verified.txt
@@ -6,14 +6,14 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_GroupBy_361d_9_33(
+ internal static global::ExpressiveSharp.IExpressiveQueryable> __Polyfill_GroupBy_d115361d_9_33(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func)
{
// Source: o => o.Tag
- var i361d9c33_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d9c33_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d9c33_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var __lambda = global::System.Linq.Expressions.Expression.Lambda>(i361d9c33_expr_0, i361d9c33_p_o);
+ var id115361d9c33_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d9c33_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d9c33_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var __lambda = global::System.Linq.Expressions.Expression.Lambda>(id115361d9c33_expr_0, id115361d9c33_p_o);
return global::ExpressiveSharp.ExpressiveQueryableExtensions.AsExpressive(
global::System.Linq.Queryable.GroupBy(
(global::System.Linq.IQueryable)source,
diff --git a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_WithElementAndResultSelector_GeneratesInterceptor.verified.txt b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_WithElementAndResultSelector_GeneratesInterceptor.verified.txt
index d5e6c2b6..b9453f1a 100644
--- a/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_WithElementAndResultSelector_GeneratesInterceptor.verified.txt
+++ b/tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_WithElementAndResultSelector_GeneratesInterceptor.verified.txt
@@ -6,24 +6,24 @@ namespace ExpressiveSharp.Generated.Interceptors
internal static partial class PolyfillInterceptors
{
[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(/* scrubbed */)]
- internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_GroupBy_361d_10_18(
+ internal static global::ExpressiveSharp.IExpressiveQueryable __Polyfill_GroupBy_d115361d_10_18(
this global::ExpressiveSharp.IExpressiveQueryable source,
global::System.Func __func1,
global::System.Func __func2,
global::System.Func, string> __func3)
{
// Source: o => o.Tag
- var i361d10c18a_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18a_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d10c18a_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
- var __lambda1 = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18a_expr_0, i361d10c18a_p_o);
+ var id115361d10c18a_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18a_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d10c18a_p_o, typeof(global::TestNs.Order).GetProperty("Tag", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Tag
+ var __lambda1 = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18a_expr_0, id115361d10c18a_p_o);
// Source: o => o.Name
- var i361d10c18b_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
- var i361d10c18b_expr_0 = global::System.Linq.Expressions.Expression.Property(i361d10c18b_p_o, typeof(global::TestNs.Order).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Name
- var __lambda2 = global::System.Linq.Expressions.Expression.Lambda>(i361d10c18b_expr_0, i361d10c18b_p_o);
+ var id115361d10c18b_p_o = global::System.Linq.Expressions.Expression.Parameter(typeof(global::TestNs.Order), "o");
+ var id115361d10c18b_expr_0 = global::System.Linq.Expressions.Expression.Property(id115361d10c18b_p_o, typeof(global::TestNs.Order).GetProperty("Name", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance)); // o.Name
+ var __lambda2 = global::System.Linq.Expressions.Expression.Lambda>(id115361d10c18b_expr_0, id115361d10c18b_p_o);
// Source: (key, names) => key
- var i361d10c18c_p_key = global::System.Linq.Expressions.Expression.Parameter(typeof(string), "key");
- var i361d10c18c_p_names = global::System.Linq.Expressions.Expression.Parameter(typeof(global::System.Collections.Generic.IEnumerable