All Classes and Interfaces
Class
Description
Array Access
Array Initializer Bracket
Array Initializer Function
Array Pair
BinaryExpressionTree.leftOperand() * BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() / BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() % BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() + BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() - BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() << BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() >> BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() < BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() > BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() <= BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() >= BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() == BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() === BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() != BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() !== BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() <> BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() & BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() ^ BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() | BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() && BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() and BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() || BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() or BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() instanceof BinaryExpressionTree.rightOperand()
BinaryExpressionTree.leftOperand() . BinaryExpressionTree.rightOperand()A BlockTree is a list of zero or more
BlockTree.statements() between braces which can be used anywhere a single statement is allowed.Case clause in switch statement (see
SwitchStatementTree).Catch block of try statement (see
TryStatementTree).A node of a
ControlFlowGraph.A
CfgBlock with 2 successors: represents a block ending
with a condition which determines which successor is executed next.This interface represents class statement, which can be:
Method declaration
Class variable declaration
Trait use statement
Enum case for enum declarations
Class Properties
Common interface for
ClassDeclarationTree and AnonymousClassTreeCompilation Unit
Curly variable syntax
Curly variable syntax
Conditional Expression
Constants declaration
The Control Flow Graph
for a PHP script or for the body of a function.
Either a
TypeTree or a UnionTypeTreeDefault case clause in switch statement (see
SwitchStatementTree).An EchoTagStatementTree is an AST node that wrap an expression list to represent the php tag: <?=
EchoTagStatementTree.expressions() ?>An empty statement is written as a single semicolon (
;).Characters within expandable string
Expandable String, containing variable name
Deprecated.
since 3.1.
Expression statement is used for processing expressions, e.g.
Parent interface for all the trees representing expressions (e.g.
Represents foreach statement and alternative foreach statement syntax as well.
Utility class hidden from API (it's mainly created to avoid duplication in grammar)
Represents for statement and alternative for statement syntax as well.
Utility class hidden from API (it's mainly created to avoid duplication in grammar)
Visitor that detects the framework used in the analyzed file.
Common interface for all kinds of function.
Global variable declaration
Common interface to represent all kinds of identifiers.
Represents if statement and alternative if statement syntax as well.
This interface presents HTML code embedded into php code.
Label which is used by goto statement.
Lexical Variable: use construct that allows
an anonymous function to inherit from parent scope variables.
Literal
This class provides information about symbols which are "live" (which value will be read) at some point of the program.
Holds the information about the liveness of variables for one basic block.
This class is used for Java < 9 to simplify the creation of maps.
Starting from PHP 8.0
Match expression
Starting from PHP 8.0
Condition match clause in match expression (see
MatchClauseTree).Default match clause in match expression (see
MatchClauseTree).Starting from PHP 8.0
Match expression
Object/Class Member Access
Symbol for method, field or constant of
TypeSymbolClass Methods
Identifier
Namespace name
Unqualified name: this is an identifier without a namespace separator, such as Foo
Qualified name: this is an identifier with a namespace separator, such as Foo\Bar
Fully qualified name: this is an identifier with a namespace separator that begins with a namespace separator,
such as \Foo\Bar.
Namespace definition
Function parameters List
Parenthesised Expression
Marker interface for all PHP checks.
Helper class for checks unit test.
Extension point to create a custom rule repository for PHP.
Class representing a file being analysed by our PHP analyzer.
This interface is used to represent issue created by checks before feeding them to SonarQube.
Instances of this class should never hold references to an AST node: we want to have a low memory usage for the
analysis of a project and an AST node basically keeps references to the whole AST of a file.
Represents fully qualified name of the symbol, like
namespace\foo\bar .Represent details about the declared return type of function and method.
ReturnTypeClauseTree is an optional element of function declaration
PHP Script
Parent interface for all the trees representing statements (e.g.
Static variable declaration
General interface for switch clauses.
Utility class to retrieve symbols from the AST.
Some specific PHP frameworks can be detected by the plugin.
Represents a token in the syntax tree.
Represents a Trivia in the SyntaxTree.
Common interface for all nodes in an abstract syntax tree.
[ END ] Expression
A tree-value boolean: true, false, unknown.
This interface represents type clause (appearing in function return type, parameter type or class property type (since PHP 7.4),
which can be:
Tree.Kind.BUILT_IN_TYPE see BuiltInTypeTree
Tree.Kind.NAMESPACE_NAME for custom class or interface type
Symbol for class, trait or interface
This interface represents type clause (appearing in function return type or parameter type),
possibly prefixed with a
? which stands for "optional".UnaryExpressionTree.expression() ++
UnaryExpressionTree.expression() --
@ UnaryExpressionTree.expression()
-- UnaryExpressionTree.expression()
++ UnaryExpressionTree.expression()
+ UnaryExpressionTree.expression()
- UnaryExpressionTree.expression()
~ UnaryExpressionTree.expression()
! UnaryExpressionTree.expression()Use namespaces declaration clause
Use namespaces declaration
Variable Declaration
Use variable length encoding for integers.
Use variable length encoding for integers.
Represents while statement and alternative while statement syntax as well.