You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
importsymtablest=symtable.symtable("""class X: class Nested: pass type Alias = int x = (x for x in range(10)) y = filter(lambda z: z % 2, range(10))""", "mod", "exec")
cls=st.get_children()[0]
print(cls.get_methods())
Prints:
('Nested', 'Alias', 'genexpr', 'lambda')
None of these are methods.
@carljm and I noticed this as part of the work on PEP 649 (#119361 (comment)). My draft implementation excludes generated __annotate__ functions from the list of "methods", but perhaps all non-methods should be excluded.
Bug report
Bug description:
Running this file:
Prints:
None of these are methods.
@carljm and I noticed this as part of the work on PEP 649 (#119361 (comment)). My draft implementation excludes generated
__annotate__functions from the list of "methods", but perhaps all non-methods should be excluded.CPython versions tested on:
3.12, CPython main branch
Operating systems tested on:
macOS
Linked PRs
symtable.Class.get_methods#120148symtable.Class.get_methodsand document its behaviour correctly #120151symtable.Class.get_methodsand document its behaviour correctly (#120151) #120776symtable.Class.get_methodsand document its behaviour correctly (GH-120151) #120777symtable.Class.get_methods#121802symtable.Class.get_methods#121902symtable.Class.get_methods(GH-121802) #121909symtable.Class.get_methods(GH-121802) #121910