import symtable
st = 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())
('Nested', 'Alias', 'genexpr', 'lambda')
None of these are methods.
Bug report
Bug description:
Running this file:
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.
CPython versions tested on:
3.12, CPython main branch
Operating systems tested on:
macOS
Linked PRs