Incendie
Public Member Functions | Public Attributes | List of all members
cpplint.NestingState Class Reference
Inheritance diagram for cpplint.NestingState:

Public Member Functions

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

Public Attributes

 stack
 
 previous_stack_top
 
 pp_stack
 

Detailed Description

Holds states related to parsing braces.

Member Function Documentation

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

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