Public Member Functions | Public Attributes | Private Attributes | Static Private Attributes | List of all members
roslint.cpplint._IncludeState Class Reference
Inheritance diagram for roslint.cpplint._IncludeState:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self)
 
def CanonicalizeAlphabeticalOrder (self, header_path)
 
def CheckNextIncludeOrder (self, header_type)
 
def FindHeader (self, header)
 
def IsInAlphabeticalOrder (self, clean_lines, linenum, header_path)
 
def ResetSection (self, directive)
 
def SetLastHeader (self, header_path)
 

Public Attributes

 include_list
 

Private Attributes

 _last_header
 
 _section
 

Static Private Attributes

int _C_SECTION = 2
 
int _CPP_SECTION = 3
 
int _INITIAL_SECTION = 0
 
int _MY_H_SECTION = 1
 
int _OTHER_H_SECTION = 4
 
dictionary _SECTION_NAMES
 
dictionary _TYPE_NAMES
 

Detailed Description

Tracks line numbers for includes, and the order in which includes appear.

include_list contains list of lists of (header, line number) pairs.
It's a lists of lists rather than just one flat list to make it
easier to update across preprocessor boundaries.

Call CheckNextIncludeOrder() once for each header in the file, passing
in the type constants defined above. Calls in an illegal order will
raise an _IncludeError with an appropriate error message.

Definition at line 700 of file cpplint.py.

Constructor & Destructor Documentation

◆ __init__()

def roslint.cpplint._IncludeState.__init__ (   self)

Definition at line 735 of file cpplint.py.

Member Function Documentation

◆ CanonicalizeAlphabeticalOrder()

def roslint.cpplint._IncludeState.CanonicalizeAlphabeticalOrder (   self,
  header_path 
)
Returns a path canonicalized for alphabetical comparison.

- replaces "-" with "_" so they both cmp the same.
- removes '-inl' since we don't require them to be after the main header.
- lowercase everything, just in case.

Args:
  header_path: Path to be canonicalized.

Returns:
  Canonicalized path.

Definition at line 775 of file cpplint.py.

◆ CheckNextIncludeOrder()

def roslint.cpplint._IncludeState.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.

Definition at line 811 of file cpplint.py.

◆ FindHeader()

def roslint.cpplint._IncludeState.FindHeader (   self,
  header 
)
Check if a header has already been included.

Args:
  header: header to check.
Returns:
  Line number of previous occurrence, or -1 if the header has not
  been seen before.

Definition at line 739 of file cpplint.py.

◆ IsInAlphabeticalOrder()

def roslint.cpplint._IncludeState.IsInAlphabeticalOrder (   self,
  clean_lines,
  linenum,
  header_path 
)
Check if a header is in alphabetical order with the previous header.

Args:
  clean_lines: A CleansedLines instance containing the file.
  linenum: The number of the line to check.
  header_path: Canonicalized header to be checked.

Returns:
  Returns true if the header is in alphabetical order.

Definition at line 790 of file cpplint.py.

◆ ResetSection()

def roslint.cpplint._IncludeState.ResetSection (   self,
  directive 
)
Reset section checking for preprocessor directive.

Args:
  directive: preprocessor directive (e.g. "if", "else").

Definition at line 754 of file cpplint.py.

◆ SetLastHeader()

def roslint.cpplint._IncludeState.SetLastHeader (   self,
  header_path 
)

Definition at line 772 of file cpplint.py.

Member Data Documentation

◆ _C_SECTION

int roslint.cpplint._IncludeState._C_SECTION = 2
staticprivate

Definition at line 716 of file cpplint.py.

◆ _CPP_SECTION

int roslint.cpplint._IncludeState._CPP_SECTION = 3
staticprivate

Definition at line 717 of file cpplint.py.

◆ _INITIAL_SECTION

int roslint.cpplint._IncludeState._INITIAL_SECTION = 0
staticprivate

Definition at line 714 of file cpplint.py.

◆ _last_header

roslint.cpplint._IncludeState._last_header
private

Definition at line 763 of file cpplint.py.

◆ _MY_H_SECTION

int roslint.cpplint._IncludeState._MY_H_SECTION = 1
staticprivate

Definition at line 715 of file cpplint.py.

◆ _OTHER_H_SECTION

int roslint.cpplint._IncludeState._OTHER_H_SECTION = 4
staticprivate

Definition at line 718 of file cpplint.py.

◆ _section

roslint.cpplint._IncludeState._section
private

Definition at line 761 of file cpplint.py.

◆ _SECTION_NAMES

dictionary roslint.cpplint._IncludeState._SECTION_NAMES
staticprivate
Initial value:
= {
_INITIAL_SECTION: "... nothing. (This can't be an error.)",
_MY_H_SECTION: 'a header this file implements',
_C_SECTION: 'C system header',
_CPP_SECTION: 'C++ system header',
_OTHER_H_SECTION: 'other header',
}

Definition at line 727 of file cpplint.py.

◆ _TYPE_NAMES

dictionary roslint.cpplint._IncludeState._TYPE_NAMES
staticprivate
Initial value:
= {
_C_SYS_HEADER: 'C system header',
_CPP_SYS_HEADER: 'C++ system header',
_LIKELY_MY_HEADER: 'header this file implements',
_POSSIBLE_MY_HEADER: 'header this file may implement',
_OTHER_HEADER: 'other header',
}

Definition at line 720 of file cpplint.py.

◆ include_list

roslint.cpplint._IncludeState.include_list

Definition at line 736 of file cpplint.py.


The documentation for this class was generated from the following file:


roslint
Author(s): Mike Purvis, Jack O'Quin
autogenerated on Tue Mar 7 2023 03:27:03