-
Notifications
You must be signed in to change notification settings - Fork 133
Adding super as a specialized keyword #1702
Adding super as a specialized keyword #1702
Conversation
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
src/Analysis/Ast/Impl/Specializations/BuiltinsSpecializations.cs
Outdated
Show resolved
Hide resolved
-adding multi param support -adding tests around gotoDefinition (still broken)
refactoing python 2.7 two param super(..) I was using the mro from the frist param always, but it should be the second. - new helper functions IsInstanceOf() and IsSubClass()
Added Distinct completion tests
I am wondering if persisting |
The short example is a library which has something to the effect of: class Foo(Bar):
def sup(self):
return super() Or: x = super(B, A()) The return values or variable values are instances of this super proxy. I can't imagine that this is common (would need to write some quick logging and see what happens on a real codebase), but this means that our database output depends on how we happen to hack together the super type and what default cases happen in the module storage. |
I think in def sup(self):
return super()
|
Yes, but the issue is that if we don't modify any persistence code, the super proxy gets persisted as "instance of class Storing the entirety of the super proxy's state is certainly possible, as the MRO in IPythonSuperType is just of more types, whose qualified names we can store in a list, then restore fully to the original state. |
OK, then perhaps qualified name of the |
Yes, that's what I'm thinking. |
- changing qualified name to :SuperType - trimming the leading ":" from builttin types
f2175f9
to
475f557
Compare
moving createSuper(..) to PythonSuperTypes
LGTM, caching stuff appears to work fine. All tests pass (sans stuff that was already broken in master). |
Fix for #1232
Fix for #1130