Skip to content

analyzer: Attribute transparent getproperty field errors#794

Merged
aviatesk merged 1 commit into
masterfrom
diagnostic-custom-getproperty
Jul 1, 2026
Merged

analyzer: Attribute transparent getproperty field errors#794
aviatesk merged 1 commit into
masterfrom
diagnostic-custom-getproperty

Conversation

@aviatesk

@aviatesk aviatesk commented Jul 1, 2026

Copy link
Copy Markdown
Owner

A missing property accessed through a custom getproperty fallback like getfield(o, s) was reported at the fallback implementation instead of the user-written property access.

Detect direct transparent getproperty forwarding in the failing getfield frame. When the receiver and field name come from the getproperty arguments, attribute the FieldErrorReport to the caller while keeping the origin frame available as related information.

The first version intentionally handles only direct same-frame forwarding plus simple SSA copies. Helper-function forwarding is left for follow-up work. Added analyzer tests for transparent forwarding, implementation typos, and helper forwarding.

Closed #469.

A missing property accessed through a custom `getproperty` fallback
like `getfield(o, s)` was reported at the fallback implementation
instead of the user-written property access.

Detect direct transparent `getproperty` forwarding in the failing
`getfield` frame. When the receiver and field name come from the
`getproperty` arguments, attribute the `FieldErrorReport` to the caller
while keeping the origin frame available as related information.

The first version intentionally handles only direct same-frame
forwarding plus simple SSA copies. Helper-function forwarding is left
for follow-up work. Added analyzer tests for transparent forwarding,
implementation typos, and helper forwarding.

Closed #469.

Co-Authored-By: GPT-5.5 <noreply@openai.com>
@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 63.88889% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.30%. Comparing base (50aef4a) to head (eb70eed).

Files with missing lines Patch % Lines
src/analysis/Analyzer.jl 63.88% 13 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #794      +/-   ##
==========================================
- Coverage   78.33%   78.30%   -0.04%     
==========================================
  Files          62       62              
  Lines       12892    12928      +36     
==========================================
+ Hits        10099    10123      +24     
- Misses       2793     2805      +12     
Flag Coverage Δ
JETLS.jl 78.30% <63.88%> (-0.04%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@aviatesk
aviatesk merged commit 8cb5dbe into master Jul 1, 2026
16 of 19 checks passed
@aviatesk
aviatesk deleted the diagnostic-custom-getproperty branch July 1, 2026 06:23
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.

Wrong location is reported when getproperty is defined by the user

1 participant