in bowler/query.py [0:0]
def in_class(self, class_name: str, include_subclasses: bool = True) -> "Query":
def filter_in_class(node: LN, capture: Capture, filename: Filename) -> bool:
while node.parent is not None:
if node.type == SYMBOL.classdef:
if node.children[1].value == class_name:
return True
if not include_subclasses:
return False
for leaf in node.leaves():
if leaf.type == TOKEN.COLON:
break
elif leaf.type == TOKEN.NAME and leaf.value == class_name:
return True
return False
node = node.parent
return False
self.current.filters.append(filter_in_class)
return self