Support property.deleter - Known attribute labeled as unknown
Describe the Bug
The hover text on the full_url attribute is (attribute) full_url: Unknown
import urllib.request
urllib.request.Request('http://example.com', method='GET').full_url
This seem to happen on property attribute with setter and deleter.
Minimal reproducible example:
class A:
@property
def prop(self) -> int:
return 42
@prop.setter
def prop(self, value: int) -> None:
pass
@prop.deleter
def prop(self) -> None:
pass
A().prop
Sandbox Link
https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeSIAxAAQDqMUAxrgLYzUAuunAFuwAqkATjDBRS1AMoYcBADS8IcakuqpqxVAHMYAHXQ0A7nxHVSuAK7VGGaoaEQOMBXB6pTM6rHfo1eCxycpMQQ6FoqvoIcPLjohPqUCdQAEjAeHtaWxLDUYDCoHBYiyrhgispoWHj4iEkAtNQA4jCBIqhQdRwQbEHE7Ix8jADWoeF5MDiow-XUAKpw7CIAbvlQAPocwTAAFACUnNyhcH2MgaF5QiKYvfAzMPh9DmzogYaOPLzsAJIAIgCiuXyhWKvAKdnYcAsxGIuCEgW2MEIWkIagCuGYLGyLWc1C0uE6%2BMwolCjggsQUMRWQgULUYuxmtAcTjUWGoQgskVI0VimSJ1EwEBEp3EETMliE1GwQlwhgWQn0%2BjA0pYvVGKkxsMCACp9N0YXDqEUoFAINhCCIAI4WeAcfSoVAAXiNJrNlutcA4hAASjArTbtgByHgcDjERAAenD91QmNghAxAYUbG5mAdAcafwAKgHdoQwBZjWsjfplqsNlttvbdiA5CAAtA4CRyIgqHMuibNrkOacyeg4AqsKJcrCWAU1ugLCxsGltjUIhx9nUAHzUD1CWq%2BahbkTA3xgXQgAByk%2Bn6%2BowHwAF8D-oayAyCIxKRCFwWFAKDRBI%2BRZVZPhMugkBaEUBS9vEBhSDA7DBqGcARuGD6iOIhCwloUboOGmDonA4bMIBEDAUIoGxOGw4SqgSyoNAqDYDkeFASBXQ8rgxBMX24FkNy6B1FScC9tQDrUAeADMhAAIwAEw3ugICXrWUxdCsABi0AwBQv7VE2slAA
(Only applicable for extension issues) IDE Information
No response
I think we just don't understand the prop.deleter decorator
For starters, we need to add a special case here
https://github.com/facebook/pyrefly/blob/4d7c9c5cbae443579231b895d14ddf063d5031fd/pyrefly/lib/alt/attr.rs#L1312