@@ -10,16 +10,16 @@ import Expr
1010 * A bitwise operation. Either a unary bitwise operation (`UnaryBitwiseOperation`)
1111 * or a binary bitwise operation (`BinaryBitwiseOperation`).
1212 */
13- class BitwiseOperation extends Operation , @bit_expr { }
13+ class BitwiseOperation extends Operation , @bit_operation { }
1414
1515/**
1616 * A unary bitwise operation, that is, a bitwise complement operation
1717 * (`ComplementExpr`).
1818 */
19- class UnaryBitwiseOperation extends BitwiseOperation , UnaryOperation , @un_bit_op_expr { }
19+ class UnaryBitwiseOperation extends BitwiseOperation , UnaryOperation , @un_bit_operation { }
2020
2121/**
22- * A bitwise complement operation , for example `~x`.
22+ * A bitwise complement expression , for example `~x`.
2323 */
2424class ComplementExpr extends UnaryBitwiseOperation , @bit_not_expr {
2525 override string getOperator ( ) { result = "~" }
@@ -28,67 +28,71 @@ class ComplementExpr extends UnaryBitwiseOperation, @bit_not_expr {
2828}
2929
3030/**
31- * A binary bitwise operation. Either a bitwise-and operation
32- * (`BitwiseAndExpr`), a bitwise-or operation (`BitwiseOrExpr`),
33- * a bitwise exclusive-or operation (`BitwiseXorExpr`), a left-shift
34- * operation (`LeftShiftExpr`), a right-shift operation (`RightShiftExpr`),
35- * or an unsigned right-shift operation (`UnsignedRightShiftExpr`).
31+ * A binary bitwise operation. Either a binary bitwise expression (`BinaryBitwiseExpr`) or
32+ * a bitwise assignment expression (`AssignBitwiseExpr`).
3633 */
37- class BinaryBitwiseOperation extends BitwiseOperation , BinaryOperation , @bin_bit_op_expr {
34+ class BinaryBitwiseOperation extends BitwiseOperation , BinaryOperation , @bin_bit_operation {
3835 override string getOperator ( ) { none ( ) }
3936}
4037
4138/**
42- * A left-shift operation, for example `x << y`.
39+ * A binary bitwise expression. Either a bitwise-and expression
40+ * (`BitwiseAndExpr`), a bitwise-or expression (`BitwiseOrExpr`),
41+ * a bitwise exclusive-or expression (`BitwiseXorExpr`), a left-shift
42+ * expression (`LeftShiftExpr`), a right-shift expression (`RightShiftExpr`),
43+ * or an unsigned right-shift expression (`UnsignedRightShiftExpr`).
4344 */
44- class LeftShiftExpr extends BinaryBitwiseOperation , LeftShiftOperation , @lshift_expr {
45+ class BinaryBitwiseExpr extends BinaryBitwiseOperation , @bin_bit_expr { }
46+
47+ /**
48+ * A left-shift expression, for example `x << y`.
49+ */
50+ class LeftShiftExpr extends BinaryBitwiseExpr , LeftShiftOperation , @lshift_expr {
4551 override string getOperator ( ) { result = "<<" }
4652
4753 override string getAPrimaryQlClass ( ) { result = "LeftShiftExpr" }
4854}
4955
5056/**
51- * A right-shift operation , for example `x >> y`.
57+ * A right-shift expression , for example `x >> y`.
5258 */
53- class RightShiftExpr extends BinaryBitwiseOperation , RightShiftOperation , @rshift_expr {
59+ class RightShiftExpr extends BinaryBitwiseExpr , RightShiftOperation , @rshift_expr {
5460 override string getOperator ( ) { result = ">>" }
5561
5662 override string getAPrimaryQlClass ( ) { result = "RightShiftExpr" }
5763}
5864
5965/**
60- * An unsigned right-shift operation , for example `x >>> y`.
66+ * An unsigned right-shift expression , for example `x >>> y`.
6167 */
62- class UnsignedRightShiftExpr extends BinaryBitwiseOperation , UnsignedRightShiftOperation ,
63- @urshift_expr
64- {
68+ class UnsignedRightShiftExpr extends BinaryBitwiseExpr , UnsignedRightShiftOperation , @urshift_expr {
6569 override string getOperator ( ) { result = ">>>" }
6670
6771 override string getAPrimaryQlClass ( ) { result = "UnsignedRightShiftExpr" }
6872}
6973
7074/**
71- * A bitwise-and operation , for example `x & y`.
75+ * A bitwise-and expression , for example `x & y`.
7276 */
73- class BitwiseAndExpr extends BinaryBitwiseOperation , BitwiseAndOperation , @bit_and_expr {
77+ class BitwiseAndExpr extends BinaryBitwiseExpr , BitwiseAndOperation , @bit_and_expr {
7478 override string getOperator ( ) { result = "&" }
7579
7680 override string getAPrimaryQlClass ( ) { result = "BitwiseAndExpr" }
7781}
7882
7983/**
80- * A bitwise-or operation , for example `x | y`.
84+ * A bitwise-or expression , for example `x | y`.
8185 */
82- class BitwiseOrExpr extends BinaryBitwiseOperation , BitwiseOrOperation , @bit_or_expr {
86+ class BitwiseOrExpr extends BinaryBitwiseExpr , BitwiseOrOperation , @bit_or_expr {
8387 override string getOperator ( ) { result = "|" }
8488
8589 override string getAPrimaryQlClass ( ) { result = "BitwiseOrExpr" }
8690}
8791
8892/**
89- * A bitwise exclusive-or operation , for example `x ^ y`.
93+ * A bitwise exclusive-or expression , for example `x ^ y`.
9094 */
91- class BitwiseXorExpr extends BinaryBitwiseOperation , BitwiseXorOperation , @bit_xor_expr {
95+ class BitwiseXorExpr extends BinaryBitwiseExpr , BitwiseXorOperation , @bit_xor_expr {
9296 override string getOperator ( ) { result = "^" }
9397
9498 override string getAPrimaryQlClass ( ) { result = "BitwiseXorExpr" }
0 commit comments