(self)
| 202 | |
| 203 | @memoize |
| 204 | def rulename(self) -> Optional[RuleName]: |
| 205 | # rulename: NAME annotation | NAME |
| 206 | mark = self._mark() |
| 207 | if ( |
| 208 | (name := self.name()) |
| 209 | and |
| 210 | (annotation := self.annotation()) |
| 211 | ): |
| 212 | return ( name . string , annotation ) |
| 213 | self._reset(mark) |
| 214 | if ( |
| 215 | (name := self.name()) |
| 216 | ): |
| 217 | return ( name . string , None ) |
| 218 | self._reset(mark) |
| 219 | return None |
| 220 | |
| 221 | @memoize |
| 222 | def flags(self) -> Optional[frozenset [str]]: |
no test coverage detected