Repository navigation
Commit ab03cb5
committed
fix(csharp): resolve a member access to the receiver type's property (#3528)
`db.Users` inside `db.Users.Where(...)` was dropped: the invocation branch
keeps only a simple receiver, so every ORM query site behind a DbSet<T>
property reached _resolve_csharp_member_calls with receiver=None and the
property node (#3006) had no inbound edge but its own type's `defines`.
Record a non-call member_access_expression on a simple receiver (recv /
this / base / this.field / Type) as a raw_calls entry stamped
is_member_access, typed from the same scoped receiver table the member
calls use, and bind it in _resolve_csharp_member_calls through the same
this/base/Type/typed tiers to a property_index built from `defines`
edges to .cs nodes — a `uses` edge at the access line, EXTRACTED when the
type is named in source and INFERRED when the receiver is typed. Never
parked: parked entries are cross-repo call candidates (#3152).
The receiver-capture arms of the invocation branch, including the cast
arm from #3797 (`((IStore)x)` / `(x as IStore)`), become
_csharp_member_receiver, shared by both sites, so a property read through
a cast resolves on the cast type the same way a call does.1 parent 6478eb7 commit ab03cb5
4 files changed
Lines changed: 557 additions & 54 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
273 | 273 | | |
274 | 274 | | |
275 | 275 | | |
| 276 | + | |
276 | 277 | | |
277 | 278 | | |
278 | 279 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4707 | 4707 | | |
4708 | 4708 | | |
4709 | 4709 | | |
| 4710 | + | |
| 4711 | + | |
| 4712 | + | |
| 4713 | + | |
| 4714 | + | |
| 4715 | + | |
| 4716 | + | |
4710 | 4717 | | |
4711 | 4718 | | |
4712 | 4719 | | |
| |||
4740 | 4747 | | |
4741 | 4748 | | |
4742 | 4749 | | |
| 4750 | + | |
| 4751 | + | |
| 4752 | + | |
| 4753 | + | |
| 4754 | + | |
| 4755 | + | |
| 4756 | + | |
| 4757 | + | |
| 4758 | + | |
| 4759 | + | |
| 4760 | + | |
| 4761 | + | |
| 4762 | + | |
| 4763 | + | |
| 4764 | + | |
| 4765 | + | |
| 4766 | + | |
4743 | 4767 | | |
4744 | 4768 | | |
4745 | 4769 | | |
| |||
4764 | 4788 | | |
4765 | 4789 | | |
4766 | 4790 | | |
4767 | | - | |
4768 | | - | |
| 4791 | + | |
| 4792 | + | |
| 4793 | + | |
| 4794 | + | |
4769 | 4795 | | |
4770 | | - | |
4771 | | - | |
4772 | | - | |
4773 | | - | |
| 4796 | + | |
| 4797 | + | |
| 4798 | + | |
| 4799 | + | |
| 4800 | + | |
4774 | 4801 | | |
4775 | 4802 | | |
4776 | 4803 | | |
| |||
4780 | 4807 | | |
4781 | 4808 | | |
4782 | 4809 | | |
4783 | | - | |
4784 | | - | |
4785 | | - | |
| 4810 | + | |
| 4811 | + | |
| 4812 | + | |
4786 | 4813 | | |
4787 | 4814 | | |
4788 | 4815 | | |
| |||
4837 | 4864 | | |
4838 | 4865 | | |
4839 | 4866 | | |
| 4867 | + | |
| 4868 | + | |
| 4869 | + | |
| 4870 | + | |
| 4871 | + | |
4840 | 4872 | | |
4841 | 4873 | | |
4842 | 4874 | | |
| |||
4863 | 4895 | | |
4864 | 4896 | | |
4865 | 4897 | | |
4866 | | - | |
| 4898 | + | |
| 4899 | + | |
4867 | 4900 | | |
4868 | 4901 | | |
4869 | 4902 | | |
| |||
4872 | 4905 | | |
4873 | 4906 | | |
4874 | 4907 | | |
4875 | | - | |
| 4908 | + | |
| 4909 | + | |
4876 | 4910 | | |
4877 | 4911 | | |
4878 | | - | |
4879 | | - | |
4880 | | - | |
4881 | | - | |
| 4912 | + | |
| 4913 | + | |
| 4914 | + | |
| 4915 | + | |
| 4916 | + | |
| 4917 | + | |
4882 | 4918 | | |
4883 | | - | |
| 4919 | + | |
4884 | 4920 | | |
4885 | 4921 | | |
4886 | | - | |
4887 | | - | |
4888 | | - | |
| 4922 | + | |
| 4923 | + | |
| 4924 | + | |
4889 | 4925 | | |
4890 | 4926 | | |
4891 | 4927 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3685 | 3685 | | |
3686 | 3686 | | |
3687 | 3687 | | |
| 3688 | + | |
| 3689 | + | |
| 3690 | + | |
| 3691 | + | |
| 3692 | + | |
| 3693 | + | |
| 3694 | + | |
| 3695 | + | |
| 3696 | + | |
| 3697 | + | |
| 3698 | + | |
| 3699 | + | |
| 3700 | + | |
| 3701 | + | |
| 3702 | + | |
| 3703 | + | |
| 3704 | + | |
| 3705 | + | |
| 3706 | + | |
| 3707 | + | |
| 3708 | + | |
| 3709 | + | |
| 3710 | + | |
| 3711 | + | |
| 3712 | + | |
| 3713 | + | |
| 3714 | + | |
| 3715 | + | |
| 3716 | + | |
| 3717 | + | |
| 3718 | + | |
| 3719 | + | |
| 3720 | + | |
| 3721 | + | |
| 3722 | + | |
| 3723 | + | |
| 3724 | + | |
| 3725 | + | |
| 3726 | + | |
| 3727 | + | |
| 3728 | + | |
| 3729 | + | |
| 3730 | + | |
| 3731 | + | |
3688 | 3732 | | |
3689 | 3733 | | |
3690 | 3734 | | |
| |||
7358 | 7402 | | |
7359 | 7403 | | |
7360 | 7404 | | |
7361 | | - | |
7362 | | - | |
7363 | | - | |
7364 | | - | |
7365 | | - | |
7366 | | - | |
7367 | | - | |
7368 | | - | |
7369 | | - | |
7370 | | - | |
7371 | | - | |
7372 | | - | |
7373 | | - | |
7374 | | - | |
7375 | | - | |
7376 | | - | |
7377 | | - | |
7378 | | - | |
7379 | | - | |
7380 | | - | |
7381 | | - | |
7382 | | - | |
7383 | | - | |
7384 | | - | |
7385 | | - | |
7386 | | - | |
7387 | | - | |
7388 | | - | |
7389 | | - | |
7390 | | - | |
7391 | | - | |
7392 | | - | |
7393 | | - | |
7394 | | - | |
7395 | | - | |
| 7405 | + | |
7396 | 7406 | | |
7397 | 7407 | | |
7398 | 7408 | | |
| |||
8026 | 8036 | | |
8027 | 8037 | | |
8028 | 8038 | | |
| 8039 | + | |
| 8040 | + | |
| 8041 | + | |
| 8042 | + | |
| 8043 | + | |
| 8044 | + | |
| 8045 | + | |
| 8046 | + | |
| 8047 | + | |
| 8048 | + | |
| 8049 | + | |
| 8050 | + | |
| 8051 | + | |
| 8052 | + | |
| 8053 | + | |
| 8054 | + | |
| 8055 | + | |
| 8056 | + | |
| 8057 | + | |
| 8058 | + | |
| 8059 | + | |
| 8060 | + | |
| 8061 | + | |
| 8062 | + | |
| 8063 | + | |
| 8064 | + | |
| 8065 | + | |
| 8066 | + | |
| 8067 | + | |
| 8068 | + | |
| 8069 | + | |
| 8070 | + | |
| 8071 | + | |
| 8072 | + | |
| 8073 | + | |
| 8074 | + | |
| 8075 | + | |
| 8076 | + | |
| 8077 | + | |
| 8078 | + | |
| 8079 | + | |
| 8080 | + | |
| 8081 | + | |
| 8082 | + | |
| 8083 | + | |
| 8084 | + | |
| 8085 | + | |
| 8086 | + | |
| 8087 | + | |
| 8088 | + | |
| 8089 | + | |
| 8090 | + | |
| 8091 | + | |
| 8092 | + | |
| 8093 | + | |
| 8094 | + | |
8029 | 8095 | | |
8030 | 8096 | | |
8031 | 8097 | | |
| |||
0 commit comments