Path 1: 119 calls (0.83)

False (119)

1def has_yields(self) -> bool:
2        if not self.doc:
3            return False
4
5        entries = self._parse_section(self.re_yields_section)
6        for entry in entries:
7            match = self.re_yields_line.match(entry)
8            if not match:
9                continue
10
11            yield_desc = match.group(2)
12            if yield_desc:
13                return True
14
15        return False
            

Path 2: 19 calls (0.13)

True (19)

1def has_yields(self) -> bool:
2        if not self.doc:
3            return False
4
5        entries = self._parse_section(self.re_yields_section)
6        for entry in entries:
7            match = self.re_yields_line.match(entry)
8            if not match:
9                continue
10
11            yield_desc = match.group(2)
12            if yield_desc:
13                return True
14
15        return False
            

Path 3: 6 calls (0.04)

False (6)

1def has_yields(self) -> bool:
2        if not self.doc:
3            return False
4
5        entries = self._parse_section(self.re_yields_section)
6        for entry in entries:
7            match = self.re_yields_line.match(entry)
8            if not match:
9                continue
10
11            yield_desc = match.group(2)
12            if yield_desc:
13                return True
14
15        return False