def CheckNextIncludeOrder()

in cpplint.py [0:0]


    def CheckNextIncludeOrder(self, header_type):
        """Returns a non-empty error message if the next header is out of order.

    This function also updates the internal state to be ready to check
    the next include.

    Args:
      header_type: One of the _XXX_HEADER constants defined above.

    Returns:
      The empty string if the header is in the right order, or an
      error message describing what's wrong.

    """
        error_message = ('Found %s after %s' %
                         (self._TYPE_NAMES[header_type],
                          self._SECTION_NAMES[self._section]))

        last_section = self._section

        if header_type == _C_SYS_HEADER:
            if self._section <= self._C_SECTION:
                self._section = self._C_SECTION
            else:
                self._last_header = ''
                return error_message
        elif header_type == _CPP_SYS_HEADER:
            if self._section <= self._CPP_SECTION:
                self._section = self._CPP_SECTION
            else:
                self._last_header = ''
                return error_message
        elif header_type == _LIKELY_MY_HEADER:
            if self._section <= self._MY_H_SECTION:
                self._section = self._MY_H_SECTION
            else:
                self._section = self._OTHER_H_SECTION
        elif header_type == _POSSIBLE_MY_HEADER:
            if self._section <= self._MY_H_SECTION:
                self._section = self._MY_H_SECTION
            else:
                # This will always be the fallback because we're not sure
                # enough that the header is associated with this file.
                self._section = self._OTHER_H_SECTION
        else:
            assert header_type == _OTHER_HEADER
            self._section = self._OTHER_H_SECTION

        if last_section != self._section:
            self._last_header = ''

        return ''