class NestingState(object):
Holds states related to parsing braces.
Method | __init__ |
Undocumented |
Method |
|
Checks that all classes and namespaces have been completely parsed. |
Method |
|
Check if we are currently one level inside an inline ASM block. |
Method |
|
Check if we are currently one level inside a class or struct declaration. |
Method |
|
Check if we are currently one level inside an 'extern "C"' block. |
Method |
|
Check if we are currently one level inside a namespace body. |
Method |
|
Get class info on the top of the stack. |
Method |
|
Check if current position is inside template argument list. |
Method |
|
Check if we have seen the opening brace for the innermost block. |
Method |
|
Update nesting state with current line. |
Method |
|
Update preprocessor stack. |
Instance Variable | pp |
Undocumented |
Instance Variable | previous |
Undocumented |
Instance Variable | stack |
Undocumented |
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.
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.
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.
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.
Check if we are currently one level inside a namespace body.
- Returns:
- True if top of the stack is a namespace block, False otherwise.
Get class info on the top of the stack.
- Returns:
- A _ClassInfo object if we are inside a class, or None otherwise.
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.
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.
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.
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.