Give general syntax instead of examples for exprs

This commit is contained in:
Owen Mansel-Chan
2020-06-11 09:42:46 +01:00
parent 3ca5d34d9b
commit ab52010674

View File

@@ -107,105 +107,105 @@ Unary expressions
All classes in this subsection are subclasses of `UnaryExpr <https://help.semmle.com/qldoc/java/semmle/code/java/Expr.qll/type.Expr$UnaryExpr.html>`__.
+---------------------------+----------------+--------------------+--------------------------------------------------+
| Expression syntax example | CodeQL class | Superclasses | Remarks |
+===========================+================+====================+==================================================+
| ``x++`` | `PostIncExpr`_ | `UnaryAssignExpr`_ | |
+---------------------------+----------------+--------------------+--------------------------------------------------+
| ``x--`` | `PostDecExpr`_ | `UnaryAssignExpr`_ | |
+---------------------------+----------------+--------------------+--------------------------------------------------+
| ``++x`` | `PreIncExpr`_ | `UnaryAssignExpr`_ | |
+---------------------------+----------------+--------------------+--------------------------------------------------+
| ``--x`` | `PreDecExpr`_ | `UnaryAssignExpr`_ | |
+---------------------------+----------------+--------------------+--------------------------------------------------+
| ``~x`` | `BitNotExpr`_ | `BitwiseExpr`_ | see below for other subclasses of `BitwiseExpr`_ |
+---------------------------+----------------+--------------------+--------------------------------------------------+
| ``-x`` | `MinusExpr`_ | | |
+---------------------------+----------------+--------------------+--------------------------------------------------+
| ``+x`` | `PlusExpr`_ | | |
+---------------------------+----------------+--------------------+--------------------------------------------------+
| ``!x`` | `LogNotExpr`_ | `LogicExpr`_ | see below for other subclasses of `LogicExpr`_ |
+---------------------------+----------------+--------------------+--------------------------------------------------+
+-------------------+----------------+--------------------+--------------------------------------------------+
| Expression syntax | CodeQL class | Superclasses | Remarks |
+===================+================+====================+==================================================+
| `Expr`_\ ``++`` | `PostIncExpr`_ | `UnaryAssignExpr`_ | |
+-------------------+----------------+--------------------+--------------------------------------------------+
| `Expr`_\ ``--`` | `PostDecExpr`_ | `UnaryAssignExpr`_ | |
+-------------------+----------------+--------------------+--------------------------------------------------+
| ``++``\ `Expr`_ | `PreIncExpr`_ | `UnaryAssignExpr`_ | |
+-------------------+----------------+--------------------+--------------------------------------------------+
| ``--``\ `Expr`_ | `PreDecExpr`_ | `UnaryAssignExpr`_ | |
+-------------------+----------------+--------------------+--------------------------------------------------+
| ``~``\ `Expr`_ | `BitNotExpr`_ | `BitwiseExpr`_ | see below for other subclasses of `BitwiseExpr`_ |
+-------------------+----------------+--------------------+--------------------------------------------------+
| ``-``\ `Expr`_ | `MinusExpr`_ | | |
+-------------------+----------------+--------------------+--------------------------------------------------+
| ``+``\ `Expr`_ | `PlusExpr`_ | | |
+-------------------+----------------+--------------------+--------------------------------------------------+
| ``!``\ `Expr`_ | `LogNotExpr`_ | `LogicExpr`_ | see below for other subclasses of `LogicExpr`_ |
+-------------------+----------------+--------------------+--------------------------------------------------+
Binary expressions
~~~~~~~~~~~~~~~~~~
All classes in this subsection are subclasses of `BinaryExpr <https://help.semmle.com/qldoc/java/semmle/code/java/Expr.qll/type.Expr$BinaryExpr.html>`__.
+---------------------------+-------------------+-------------------+
| Expression syntax example | CodeQL class | Superclasses |
+===========================+===================+===================+
| ``x * y`` | `MulExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x / y`` | `DivExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x % y`` | `RemExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x + y`` | `AddExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x - y`` | `SubExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x << y`` | `LShiftExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x >> y`` | `RShiftExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x >>> y`` | `URShiftExpr`_ | |
+---------------------------+-------------------+-------------------+
| ``x && y`` | `AndLogicalExpr`_ | `LogicExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x || y`` | `OrLogicalExpr`_ | `LogicExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x < y`` | `LTExpr`_ | `ComparisonExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x > y`` | `GTExpr`_ | `ComparisonExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x <= y`` | `LEExpr`_ | `ComparisonExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x >= y`` | `GEExpr`_ | `ComparisonExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x == y`` | `EQExpr`_ | `EqualityTest`_ |
+---------------------------+-------------------+-------------------+
| ``x != y`` | `NEExpr`_ | `EqualityTest`_ |
+---------------------------+-------------------+-------------------+
| ``x & y`` | `AndBitwiseExpr`_ | `BitwiseExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x | y`` | `OrBitwiseExpr`_ | `BitwiseExpr`_ |
+---------------------------+-------------------+-------------------+
| ``x ^ y`` | `XorBitwiseExpr`_ | `BitwiseExpr`_ |
+---------------------------+-------------------+-------------------+
+-------------------------+-------------------+-------------------+
| Expression syntax | CodeQL class | Superclasses |
+=========================+===================+===================+
| `Expr`_ ``*`` `Expr`_ | `MulExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``/`` `Expr`_ | `DivExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``%`` `Expr`_ | `RemExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``+`` `Expr`_ | `AddExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``-`` `Expr`_ | `SubExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``<<`` `Expr`_ | `LShiftExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``>>`` `Expr`_ | `RShiftExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``>>>`` `Expr`_ | `URShiftExpr`_ | |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``&&`` `Expr`_ | `AndLogicalExpr`_ | `LogicExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``||`` `Expr`_ | `OrLogicalExpr`_ | `LogicExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``<`` `Expr`_ | `LTExpr`_ | `ComparisonExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``>`` `Expr`_ | `GTExpr`_ | `ComparisonExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``<=`` `Expr`_ | `LEExpr`_ | `ComparisonExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``>=`` `Expr`_ | `GEExpr`_ | `ComparisonExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``==`` `Expr`_ | `EQExpr`_ | `EqualityTest`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``!=`` `Expr`_ | `NEExpr`_ | `EqualityTest`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``&`` `Expr`_ | `AndBitwiseExpr`_ | `BitwiseExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``|`` `Expr`_ | `OrBitwiseExpr`_ | `BitwiseExpr`_ |
+-------------------------+-------------------+-------------------+
| `Expr`_ ``^`` `Expr`_ | `XorBitwiseExpr`_ | `BitwiseExpr`_ |
+-------------------------+-------------------+-------------------+
Assignment expressions
~~~~~~~~~~~~~~~~~~~~~~
All classes in this table are subclasses of `Assignment <https://help.semmle.com/qldoc/java/semmle/code/java/Expr.qll/type.Expr$Assignment.html>`__.
+---------------------------+----------------------+--------------+
| Expression syntax example | CodeQL class | Superclasses |
+===========================+======================+==============+
| ``x = y`` | `AssignExpr`_ | |
+---------------------------+----------------------+--------------+
| ``x += y`` | `AssignAddExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x -= y`` | `AssignSubExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x *= y`` | `AssignMulExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x /= y`` | `AssignDivExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x %= y`` | `AssignRemExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x &= y`` | `AssignAndExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x |= y`` | `AssignOrExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x ^= y`` | `AssignXorExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x <<= y`` | `AssignLShiftExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x >>= y`` | `AssignRShiftExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
| ``x >>>= y`` | `AssignURShiftExpr`_ | `AssignOp`_ |
+---------------------------+----------------------+--------------+
+--------------------------+----------------------+--------------+
| Expression syntax | CodeQL class | Superclasses |
+==========================+======================+==============+
| `Expr`_ ``=`` `Expr`_ | `AssignExpr`_ | |
+--------------------------+----------------------+--------------+
| `Expr`_ ``+=`` `Expr`_ | `AssignAddExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``-=`` `Expr`_ | `AssignSubExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``*=`` `Expr`_ | `AssignMulExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``/=`` `Expr`_ | `AssignDivExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``%=`` `Expr`_ | `AssignRemExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``&=`` `Expr`_ | `AssignAndExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``|=`` `Expr`_ | `AssignOrExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``^=`` `Expr`_ | `AssignXorExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``<<=`` `Expr`_ | `AssignLShiftExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``>>=`` `Expr`_ | `AssignRShiftExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
| `Expr`_ ``>>>=`` `Expr`_ | `AssignURShiftExpr`_ | `AssignOp`_ |
+--------------------------+----------------------+--------------+
Accesses
~~~~~~~~