Instead of having in _processAnnotation : ``` if ($token == T_CLASS) { $this->_classSuppressWarnings[] = $suppressedCheck; } elseif ($token == T_INTERFACE) { $this->_interfaceSuppressWarnings[] = $suppressedCheck; } elseif ($token == T_FUNCTION) { $this->_functionSuppressWarnings[] = $suppressedCheck; } elseif ($token == T_FILE) { $this->_fileSuppressWarnings[] = $suppressedCheck; } ``` Store the annotation in the current stack item. Then when analysing, check for all annontations in the stack (including parents).