Skip to content

fix: address issue #50 follow-ups (non-public properties, IQueryable upcasts)#52

Merged
koenbeuk merged 2 commits into
mainfrom
fix/issue-50
May 1, 2026
Merged

fix: address issue #50 follow-ups (non-public properties, IQueryable upcasts)#52
koenbeuk merged 2 commits into
mainfrom
fix/issue-50

Conversation

@koenbeuk
Copy link
Copy Markdown
Collaborator

@koenbeuk koenbeuk commented May 1, 2026

Adds BindingFlags to factory property/constructor lookups (non-public members) and skips Convert for implicit reference upcasts in argument position (fixes EF Core translation of IQueryable chains in [ExpressiveProperty] bodies).

#50

Copilot AI review requested due to automatic review settings May 1, 2026 00:11
@codecov
Copy link
Copy Markdown

codecov Bot commented May 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tightens runtime reflection and expression-tree emission to handle two follow-ups from issue #50: resolving non-public [Expressive] members, and avoiding Convert(...) nodes for implicit reference upcasts in argument position (to preserve EF Core queryable-chain translation).

Changes:

  • Update generator reflection lookups to include BindingFlags.Public | NonPublic (and Instance/Static) for GetProperty(...) and GetConstructor(...).
  • Update expression tree emission to skip emitting Expression.Convert for implicit reference upcasts when the conversion appears as a method-call argument.
  • Add/adjust tests and verified snapshots to validate non-public member resolution and the updated generated output.

Reviewed changes

Copilot reviewed 280 out of 280 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/ExpressiveSharp.Tests/TestFixtures/ExpressiveTestModels.cs Adds a non-public [Expressive] property fixture type for issue #50 follow-up coverage.
tests/ExpressiveSharp.Tests/Services/ExpressiveResolverTests.cs Adds resolver test ensuring non-public [Expressive] property resolves and compiles.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SynthesizedPropertyInterceptorTests.cs Updates assertions to match new GetProperty(..., BindingFlags...) emission.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ZipTests.Zip_WithResultSelector_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/WhereTests.Where_SimpleCondition_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/WhereTests.Where_CapturedVariable_GeneratesClosureAccess.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/WhereTests.Where_CapturedInstanceField_GeneratesClosureAccess.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SynthesizedPropertyInterceptorTests.Where_PropertyPattern_ReferencesSynthesizedProperty.verified.txt Snapshot update: synthesized property GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SynthesizedPropertyInterceptorTests.Select_ReferencesSynthesizedProperty.verified.txt Snapshot update: synthesized property GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SingleLambdaQueryableTests.TakeWhile_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SingleLambdaQueryableTests.SkipWhile_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SingleLambdaQueryableTests.OrderByDescending_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SingleLambdaQueryableTests.DistinctBy_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SingleLambdaQueryableTests.CountBy_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SetOperationTests.UnionBy_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SetOperationTests.IntersectBy_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SetOperationTests.ExceptBy_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SelectTests.Select_NamedType_GeneratesConcreteInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SelectTests.Select_AnonymousType_GeneratesGenericInterceptor.verified.txt Snapshot update: projected member GetProperty now includes BindingFlags where applicable.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/SelectManyTests.SelectMany_CollectionSelector_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_NullableLongSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_NullableIntSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_NullableFloatSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_NullableDoubleSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_NullableDecimalSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_LongSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_IntSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_FloatSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_DoubleSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Sum_DecimalSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Single_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.SingleOrDefault_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Min_GenericSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.MinBy_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Max_GenericSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.MaxBy_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.LongCount_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Last_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.LastOrDefault_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.First_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.FirstOrDefault_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Count_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_NullableLongSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_NullableIntSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_NullableFloatSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_NullableDoubleSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_NullableDecimalSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_LongSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_IntSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_FloatSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_DoubleSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Average_DecimalSelector_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.Any_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ScalarMethodTests.All_GeneratesScalarInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/PolyfillTests.Polyfill_SimpleLambda_GeneratesExpression.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/PolyfillTests.Polyfill_NullConditional_RewritesOperator.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/PolyfillTests.Polyfill_InferredTypeArgument_GeneratesExpression.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/PolyfillTests.Polyfill_CapturedVariable_GeneratesClosureAccess.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/PolyfillTargetTests.PolyfillTarget_WithoutAttribute_DefaultsToQueryable.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/PolyfillTargetTests.PolyfillTarget_RoutesToSpecifiedType.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/OrderByTests.OrderBy_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/NullConditionalTests.NullConditionalRewrite_ExpandsInWhereBody.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_WithResultSelector_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_WithElementSelector_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GroupByTests.GroupBy_GeneratesGroupingReturnType.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_PerCallOverridesGlobal.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Where_GlobalNullConditionalRewrite_AppliesWithoutPerCallOverride.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/GlobalOptionsTests.Polyfill_GlobalNullConditionalIgnore_UsesIgnoreMode.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdate_SetProperty_ConstantValue.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ExecuteUpdateTests.ExecuteUpdateAsync_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.OrderBy_WithComparer_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.GroupBy_WithComparer_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/PolyfillInterceptorGenerator/ComparerOverloadTests.DistinctBy_WithComparer_GeneratesInterceptor.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/TupleTests.TupleLiteralWithParameters.verified.txt Snapshot update: tuple constructor lookup now uses GetConstructor(..., BindingFlags...).
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/TupleTests.TupleLiteralWithNamedElements.verified.txt Snapshot update: GetProperty/tuple ctor lookups now include BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/TupleTests.TupleLiteralInMethod.verified.txt Snapshot update: GetProperty/tuple ctor lookups now include BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/TupleTests.TupleBinary_Inequality.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/TupleTests.TupleBinary_Equality.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/TupleTests.NestedTupleLiteral.verified.txt Snapshot update: tuple ctor lookups now include BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ThrowExpressionTests.ThrowInSwitchArm.verified.txt Snapshot update: exception ctor lookup now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ThrowExpressionTests.ThrowInNullCoalescing.verified.txt Snapshot update: GetProperty and exception ctor lookup now include BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ThrowExpressionTests.ThrowInConditional.verified.txt Snapshot update: nullable member GetProperty and exception ctor lookup now include BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/SwitchPatternTests.SwitchStatementWithReturnArms.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/SwitchPatternTests.SwitchExpression_WithRelationalPattern_OnExtensionMethod.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/SwitchPatternTests.SwitchExpression_WithRelationalPattern.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/SwitchPatternTests.SwitchExpressionWithConstantPattern.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/SwitchPatternTests.ExpressionBodied_IsPattern_WithOrPattern.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/SwitchPatternTests.ExpressionBodied_IsPattern_WithNotNullPattern.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/SwitchPatternTests.ExpressionBodied_IsPattern_WithAndPattern.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/StringConcatenationTests.StringPlusString.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/StringConcatenationTests.SingleStringConcat.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/StringConcatenationTests.IntPlusString.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.SimpleExpressiveComputedPropertyWithSetter.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.SimpleExpressiveComputedProperty.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.SimpleExpressiveComputedInNestedClassProperty.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.RelationalProperty.verified.txt Snapshot update: chained GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.PropertyWithCustomTransformers.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.MoreComplexExpressiveComputedProperty.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.MinimalExpressiveComputedProperty.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.ExpressivePropertyWithExplicitBlockGetterUsingThis.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.ExpressivePropertyToNavigationalProperty.verified.txt Snapshot update: removes redundant upcast Convert and updates GetProperty flags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.ExpressiveComputedPropertyWithExplicitExpressionGetter.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.ExpressiveComputedPropertyWithExplicitBlockGetter.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PropertyTests.ExpressiveComputedPropertyUsingThis.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PositionalPatternTests.IsExpression_RecordStructPositionalPattern.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PositionalPatternTests.IsExpression_RecordPositionalPattern.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/PositionalPatternTests.IsExpression_PositionalPatternWithRelationalSubPatterns.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableValueType_MemberAccess_WithRewriteSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableValueType_MemberAccess_WithIgnoreSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableValueType_MemberAccessWithCoalesce_WithRewriteSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableSimpleElementBinding_WithRewriteSupport_IsBeingRewritten.verified.txt Snapshot update: indexer GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableSimpleElementBinding_WithIgnoreSupport_IsBeingRewritten.verified.txt Snapshot update: indexer GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableParameters_WithRewriteSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableMemberBinding_WithRewriteSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableMemberBinding_WithIgnoreSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableMemberBinding_WithDisableFlag_StillGenerates.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableElementBinding_WithRewriteSupport_IsBeingRewritten.verified.txt Snapshot update: indexer GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableElementBinding_WithIgnoreSupport_IsBeingRewritten.verified.txt Snapshot update: indexer GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableElementAndMemberBinding_WithRewriteSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullableElementAndMemberBinding_WithIgnoreSupport_IsBeingRewritten.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/NullableTests.NullConditionalNullCoalesceTypeConversion.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.TypesInBodyGetsFullyQualified.verified.txt Snapshot update: removes redundant upcast Convert and updates GetProperty flags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.StringInterpolation_SimpleIntProperty.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.StringInterpolation_MultiplePartsWithNullCoalescing.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.StringInterpolation_FormatSpecifier.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.StaticMembers2.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.StaticMembers.verified.txt Snapshot update: static/instance GetProperty now includes appropriate BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.MethodOverloads_WithDifferentParameterTypes.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.InheritedMembers.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.ConstMember.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.Cast.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.BaseMemberImplicitReference.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MethodTests.BaseMemberExplicitReference.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForLoop_ArraySum.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_WithLoopDisableFlag_StillEmitsLoop.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_SumWithSelector.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_SumWithMethodCall.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_Sum.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_Min.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_InstanceMethodInBody.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_CountWithPredicate.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_CountAll.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_ConditionalSum.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_ConditionalAggregate.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_Any.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_All.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/LoopTests.ForEach_Aggregate.verified.txt Snapshot update: enumerator GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ListPatternTests.ListPattern_WithSlice.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/InterfaceTests.ExplicitInterfaceMember.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/InterfaceTests.ExplicitInterfaceImplementation.verified.txt Snapshot update: interface member GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/InterfaceTests.DefaultInterfaceMember.verified.txt Snapshot update: interface member GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/IndexRangeTests.Range_WorksAsExpression.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/IndexRangeTests.IndexFromEnd_WorksAsExpression.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberWithSwitchExpression.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberWithMemberAccess.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberWithIsPatternExpression.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberWithBlockBody.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberProperty.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberOnInterface.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberMethodWithParameters.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExtensionMemberTests.ExtensionMemberMethod.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressivePropertyTests.ReferenceTypeTarget_EmitsCoalesceForm.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressivePropertyTests.PartialRecord_EmitsCorrectly.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressivePropertyTests.NonNullableValueTypeTarget_EmitsCoalesceForm.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressivePropertyTests.NestedInsideNonClassContainer_EmitsCorrectOuterKeyword.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressivePropertyTests.BodyUsingQueryableWhereOrderBy_EmitsValidExpressionTree.verified.txt Snapshot update: GetProperty now includes BindingFlags (supports updated reflection lookup).
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressiveForTests.SingleArgForm_InstanceMethodTarget.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressiveForTests.SingleArgForm_DefaultsToContainingType.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressiveForTests.PropertyStub_InstanceProperty_SameType.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressiveForTests.InstanceStub_OnInstanceProperty_SameType.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressiveForTests.InstanceProperty.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressiveForTests.InstanceMethod.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/EnumTests.ExpandEnumMethodsWithParameter.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/EnumTests.ExpandEnumMethodsWithDisplayAttribute.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/EnumTests.ExpandEnumMethodsWithDescriptionAttribute.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/EnumTests.ExpandEnumMethodsReturningInteger.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/EnumTests.ExpandEnumMethodsReturningBoolean.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_WithNullableParameter.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_WithNestedIfElse.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_WithIfNoElse.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_WithExplicitParameterlessConstructor_Succeeds.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_WithBaseInitializerExpression.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_WithBaseInitializerAndIfElse.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_WithBaseInitializer.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_ThisInitializer_SimpleOverload.verified.txt Snapshot update: ctor lookup now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_ThisInitializer_RefPreviouslyAssignedProperty.verified.txt Snapshot update: ctor lookup now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_ThisInitializer_RecordPrimaryCtor_NoParameterlessCtor.verified.txt Snapshot update: ctor lookup now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ConstructorTests.ProjectableConstructor_BodyAssignments.verified.txt Snapshot update: ctor + member binding GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CollectionExpressionTests.CollectionInitializer_ListOfInt.verified.txt Snapshot update: ctor lookup now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CollectionExpressionTests.CollectionInitializer_DictionaryAdd.verified.txt Snapshot update: ctor lookup now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CollectionExpressionTests.CollectionExpression_SpreadOnly.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CollectionExpressionTests.CollectionExpression_ListWithSpread.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CollectionExpressionTests.CollectionExpression_ArrayWithSpread.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CheckedArithmeticTests.CheckedSubtraction.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CheckedArithmeticTests.CheckedNegation.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CheckedArithmeticTests.CheckedMultiplication.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CheckedArithmeticTests.CheckedConversion.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/CheckedArithmeticTests.CheckedAddition.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBody_WithThrow.verified.txt Snapshot update: exception ctor lookup now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBodiedMethod_WithTransitiveLocalVariables.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBodiedMethod_WithPropertyAccess.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBodiedMethod_WithNestedIfElse.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBodiedMethod_WithLocalVariable.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBodiedMethod_WithIfElse.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBodiedMethod_WithEarlyReturn_AfterLocalVar.verified.txt Snapshot update: GetProperty now includes BindingFlags.
tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/BlockBodyTests.BlockBodiedMethod_WithEarlyReturn.verified.txt Snapshot update: GetProperty now includes BindingFlags.
src/ExpressiveSharp.Generator/Emitter/ReflectionFieldCache.cs Emits GetProperty(..., BindingFlags...) and GetConstructor(..., BindingFlags...) to support non-public members.
src/ExpressiveSharp.Generator/Emitter/ExpressionTreeEmitter.cs Skips emitting Convert for implicit reference upcasts in argument position to improve EF Core queryable-chain translation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@koenbeuk koenbeuk merged commit 9061489 into main May 1, 2026
21 checks passed
@koenbeuk koenbeuk deleted the fix/issue-50 branch May 1, 2026 00:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants