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

Public Member Functions

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

Public Attributes

 include_list
 

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.

Constructor & Destructor Documentation

◆ __init__()

def cpplint._IncludeState.__init__ (   self)

Member Function Documentation

◆ CanonicalizeAlphabeticalOrder()

def 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.

◆ CheckNextIncludeOrder()

def 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.

◆ FindHeader()

def 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.

◆ IsInAlphabeticalOrder()

def 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.

◆ ResetSection()

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

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

◆ SetLastHeader()

def cpplint._IncludeState.SetLastHeader (   self,
  header_path 
)

Member Data Documentation

◆ include_list

cpplint._IncludeState.include_list

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