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

Public Member Functions

def __init__ (self)
 
def CheckCompletedBlocks (self, filename, error)
 
def InAsmBlock (self)
 
def InClassDeclaration (self)
 
def InExternC (self)
 
def InNamespaceBody (self)
 
def InnermostClass (self)
 
def InTemplateArgumentList (self, clean_lines, linenum, pos)
 
def SeenOpenBrace (self)
 
def Update (self, filename, clean_lines, linenum, error)
 
def UpdatePreprocessor (self, line)
 

Public Attributes

 pp_stack
 
 previous_stack_top
 
 stack
 

Detailed Description

Holds states related to parsing braces.

Definition at line 2409 of file cpplint.py.

Constructor & Destructor Documentation

◆ __init__()

def roslint.cpplint.NestingState.__init__ (   self)

Definition at line 2412 of file cpplint.py.

Member Function Documentation

◆ CheckCompletedBlocks()

def roslint.cpplint.NestingState.CheckCompletedBlocks (   self,
  filename,
  error 
)
Checks that all classes and namespaces have been completely parsed.

Call this when all lines in a file have been processed.
Args:
  filename: The name of the current file.
  error: The function to call with any errors found.

Definition at line 2761 of file cpplint.py.

◆ InAsmBlock()

def roslint.cpplint.NestingState.InAsmBlock (   self)
Check if we are currently one level inside an inline ASM block.

Returns:
  True if the top of the stack is a block containing inline ASM.

Definition at line 2468 of file cpplint.py.

◆ InClassDeclaration()

def roslint.cpplint.NestingState.InClassDeclaration (   self)
Check if we are currently one level inside a class or struct declaration.

Returns:
  True if top of the stack is a class/struct, False otherwise.

Definition at line 2460 of file cpplint.py.

◆ InExternC()

def roslint.cpplint.NestingState.InExternC (   self)
Check if we are currently one level inside an 'extern "C"' block.

Returns:
  True if top of the stack is an extern block, False otherwise.

Definition at line 2452 of file cpplint.py.

◆ InNamespaceBody()

def roslint.cpplint.NestingState.InNamespaceBody (   self)
Check if we are currently one level inside a namespace body.

Returns:
  True if top of the stack is a namespace block, False otherwise.

Definition at line 2444 of file cpplint.py.

◆ InnermostClass()

def roslint.cpplint.NestingState.InnermostClass (   self)
Get class info on the top of the stack.

Returns:
  A _ClassInfo object if we are inside a class, or None otherwise.

Definition at line 2749 of file cpplint.py.

◆ InTemplateArgumentList()

def roslint.cpplint.NestingState.InTemplateArgumentList (   self,
  clean_lines,
  linenum,
  pos 
)
Check if current position is inside template argument list.

Args:
  clean_lines: A CleansedLines instance containing the file.
  linenum: The number of the line to check.
  pos: position just after the suspected template argument.
Returns:
  True if (linenum, pos) is inside template arguments.

Definition at line 2476 of file cpplint.py.

◆ SeenOpenBrace()

def roslint.cpplint.NestingState.SeenOpenBrace (   self)
Check if we have seen the opening brace for the innermost block.

Returns:
  True if we have seen the opening brace, False if the innermost
  block is still expecting an opening brace.

Definition at line 2435 of file cpplint.py.

◆ Update()

def roslint.cpplint.NestingState.Update (   self,
  filename,
  clean_lines,
  linenum,
  error 
)
Update nesting state with current line.

Args:
  filename: The name of the current file.
  clean_lines: A CleansedLines instance containing the file.
  linenum: The number of the line to check.
  error: The function to call with any errors found.

Definition at line 2585 of file cpplint.py.

◆ UpdatePreprocessor()

def roslint.cpplint.NestingState.UpdatePreprocessor (   self,
  line 
)
Update preprocessor stack.

We need to handle preprocessors due to classes like this:
  #ifdef SWIG
  struct ResultDetailsPageElementExtensionPoint {
  #else
  struct ResultDetailsPageElementExtensionPoint : public Extension {
  #endif

We make the following assumptions (good enough for most files):
- Preprocessor condition evaluates to true from #if up to first
  #else/#elif/#endif.

- Preprocessor condition evaluates to false from #else/#elif up
  to #endif.  We still perform lint checks on these lines, but
  these do not affect nesting stack.

Args:
  line: current line to check.

Definition at line 2528 of file cpplint.py.

Member Data Documentation

◆ pp_stack

roslint.cpplint.NestingState.pp_stack

Definition at line 2433 of file cpplint.py.

◆ previous_stack_top

roslint.cpplint.NestingState.previous_stack_top

Definition at line 2430 of file cpplint.py.

◆ stack

roslint.cpplint.NestingState.stack

Definition at line 2419 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 Sun Mar 5 2023 03:27:29