Repository navigation
Tags: apiiro/python-language-server
Tags
Fix NullReferenceException in hover when a TypeVar resolves to a dict… … specialization (#17) PythonDictionaryType overrides CreateInstance and dereferences the argument set directly, so the null guard added to PythonClassType in #16 never runs on this path. Hover documentation passes a null argument set down (GetReturnDocumentation -> GetSpecificReturnType(self, null) -> CreateSpecificReturnFromTypeVar -> CreateInstance(null)), which crashed hover for methods of multi-parameter generic classes whose TypeVar return resolves to a dict specialization. Mirror the null guard PythonCollectionType already has. Test infra changes needed to run the suite on modern setups: - PythonVersions now discovers CPython 3.9-3.12 (LatestAvailable3X only considered 3.5-3.8, none of which install cleanly on Apple Silicon). - UnixPythonInstallPathResolver skips broken interpreters on PATH (a stale pyenv shim crashed discovery for the whole suite). - FromOsPath hover assertions use prefix matching (newer interpreters include the scraped docstring after the signature). Tracked by LIM-43637 (GitHub issues are disabled on this fork). Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Fix NullReferenceException in hover for generic methods returning a T… …ypeVar GetReturnDocumentation calls GetSpecificReturnType with a null argument set; for a TypeVar return this reaches CreateSpecificReturnFromTypeVar and calls CreateInstance(null). For the list/dict/tuple specializations CreateInstance dereferences the null argument set and throws. Guard CreateInstance against a null argument set by returning a plain instance; the call-resolution path (non-null args) is unchanged.
PreviousNext