All Classes and Interfaces

Class
Description
 
 
Aliased name
 
 
 
 
 
 
 
 
 
 
Common interface for RegularArgument, UnpackingExpression
As pattern
 
 
 
 
 
 
 
Default implementation of TreeVisitor.
 
 
See https://docs.python.org/3/reference/simple_stmts.html#grammar-token-break-stmt
 
 
 
 
 
 
Capture Pattern
 
Case block
 
 
 
 
 
A CfgBlock with 2 successors: represents a block ending with a condition which determines which successor is executed next.
 
 
 
 
 
Class pattern
 
 
 
 
ClassType
 
 
 
 
 
 
 
 
 
 
See https://docs.python.org/3/reference/simple_stmts.html#the-continue-statement
 
 
 
 
 
 
 
 
Protobuf type protoblog.FileCpdTokens
Protobuf type protoblog.FileCpdTokens
 
Protobuf type protoblog.Token
Protobuf type protoblog.Token
 
 
@#name() ( Decorator.arguments() )
Even if decorator is not a statement, it extends SimpleStatement in order to properly resolve its last token as it's a newline token
 
 
 
This represents a class or function definition It can be modelled as an assignment of a class / function type to their symbol
 
 
 
 
 
Protobuf type protoblog.AmbiguousDescriptor
Protobuf type protoblog.AmbiguousDescriptor
 
Protobuf type protoblog.ClassDescriptor
Protobuf type protoblog.ClassDescriptor
 
Protobuf type protoblog.FunctionDescriptor
Protobuf type protoblog.FunctionDescriptor
 
Protobuf type protoblog.LocationInFile
Protobuf type protoblog.LocationInFile
 
Protobuf type protoblog.ModuleDescriptor
Protobuf type protoblog.ModuleDescriptor
 
Protobuf type protoblog.ParameterDescriptor
Protobuf type protoblog.ParameterDescriptor
 
Protobuf type protoblog.VarDescriptor
Protobuf type protoblog.VarDescriptor
 
 
 
 
Dictionary Comprehension
 
It can be either KeyValuePair or UnpackingExpression
 
 
Extractor of docstring tokens.
Example: os.env or Crypto.Cipher.AES
 
Double Star Pattern (only used within mapping patterns)
 
 
 
 
Represents singleton Ellipsis object
 
 
Common interface for providing callbacks that are triggered at the end of an analysis, after all files have been scanned.
 
 
Purpose of this class is to detect and throw exception if the scanned tree that contain invalid syntax regarding the except* instruction.
Python 2 only.
 
 
Example:
 
See https://docs.python.org/3/reference/simple_stmts.html#grammar-token-expression-stmt
 
Root of the AST.
 
Visitor that computes CoreMetrics.NCLOC_DATA_KEY and CoreMetrics.COMMENT_LINES metrics used by the DevCockpit.
 
 
 
 
 
 
 
 
Data flow analysis operating on the CFG.
A channel to handle f-strings.
 
 
 
 
 
 
 
Common interface for FunctionDef and LambdaExpression
 
 
 
 
 
FunctionType
 
 
 
 
Group Pattern
 
Guard
 
 
 
if-elif-else statement.
 
Import From statement
 
Import statement
 
Import statement See https://docs.python.org/3/reference/simple_stmts.html#grammar-token-import-stmt
http://docs.python.org/reference/lexical_analysis.html#indentation
 
 
 
 
 
 
 
 
 
 
 
 
 
Key Value Pattern (only used within mapping patterns)
 
Keyword pattern Used only inside Class pattern
 
 
 
 
 
 
 
 
 
 
Literal Pattern
 
 
 
 
 
Mapping Pattern
 
Match statement
 
 
 
 
 
See https://docs.python.org/3/reference/expressions.html#atom-identifiers
 
http://docs.python.org/reference/lexical_analysis.html#explicit-line-joining http://docs.python.org/reference/lexical_analysis.html#implicit-line-joining http://docs.python.org/reference/lexical_analysis.html#blank-lines
See https://docs.python.org/3/library/constants.html#None
 
 
 
 
 
 
 
 
 
OR pattern
 
 
 
 
 
See https://docs.python.org/3/reference/compound_stmts.html#grammar-token-parameter-list
 
 
 
 
Use this class to parse Python module
https://docs.python.org/3/reference/simple_stmts.html#grammar-token-pass-stmt
 
 
Python 2 only.
 
 
Used in FlowSensitiveTypeInference to update name types based on program state
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Extension point to create a custom rule repository for Python.
 
 
 
 
 
 
 
 
 
http://docs.python.org/reference/lexical_analysis.html#keywords
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PythonType
 
 
 
 
 
 
 
 
Qualified expression like "foo.bar"
 
 
https://en.wikipedia.org/wiki/Reaching_definition Data flow analysis to determinate what definitions may reach a given point in the code.
Read (i.e. non-binding) usages have to be visited in a second phase.
 
 
 
 
Python 2 only.
 
 
 
 
 
 
 
Sequence Pattern
 
 
 
 
 
 
 
 
Component used in SonarLint to transfer data in memory between plugins.
 
 
 
 
Star Pattern Only used inside sequence patterns
 
 
 
 
 
 
See https://docs.python.org/3/reference/lexical_analysis.html#string-literal-concatenation
 
http://docs.python.org/reference/lexical_analysis.html#string-literals
 
 
 
 
 
 
 
 
 
 
 
Protobuf type protoblog.ClassSymbol
Protobuf type protoblog.ClassSymbol
 
Protobuf type protoblog.FunctionSymbol
Protobuf type protoblog.FunctionSymbol
 
Protobuf type protoblog.ModuleSymbol
Protobuf type protoblog.ModuleSymbol
 
Protobuf type protoblog.OverloadedFunctionSymbol
Protobuf type protoblog.OverloadedFunctionSymbol
 
Protobuf enum protoblog.ParameterKind
Protobuf type protoblog.ParameterSymbol
Protobuf type protoblog.ParameterSymbol
 
Protobuf type protoblog.Type
Protobuf type protoblog.Type
Protobuf enum protoblog.TypeKind
 
Protobuf type protoblog.VarSymbol
Protobuf type protoblog.VarSymbol
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Python 2 only
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This type is used for symbols that we assume to be class due to how they are used, so that type inference correctly tracks objects that were created from this.
 
 
 
 
 
 
 
 
 
 
Value Pattern
 
 
 
Use variable length encoding for integers.
Use variable length encoding for integers.
 
 
Group Pattern
 
 
 
 
 
See https://docs.python.org/3/reference/simple_stmts.html#grammar-token-yield-stmt