@@ -103,6 +103,54 @@ class AssignAddExpr extends AssignArithmeticOperationEx {
103
103
override string toString ( ) { result = "... += ..." }
104
104
}
105
105
106
+ /**
107
+ * A subtraction assignment expression:
108
+ * ```
109
+ * a -= b
110
+ * ```
111
+ */
112
+ class AssignSubExpr extends AssignArithmeticOperationEx {
113
+ AssignSubExpr ( ) { this .getOperator ( ) .getName ( ) = "-=(_:_:)" }
114
+
115
+ override string toString ( ) { result = "... -= ..." }
116
+ }
117
+
118
+ /**
119
+ * A multiplication assignment expression:
120
+ * ```
121
+ * a *= b
122
+ * ```
123
+ */
124
+ class AssignMulExpr extends AssignArithmeticOperationEx {
125
+ AssignMulExpr ( ) { this .getOperator ( ) .getName ( ) = "*=(_:_:)" }
126
+
127
+ override string toString ( ) { result = "... *= ..." }
128
+ }
129
+
130
+ /**
131
+ * A division assignment expression:
132
+ * ```
133
+ * a /= b
134
+ * ```
135
+ */
136
+ class AssignDivExpr extends AssignArithmeticOperationEx {
137
+ AssignDivExpr ( ) { this .getOperator ( ) .getName ( ) = "/=(_:_:)" }
138
+
139
+ override string toString ( ) { result = "... /= ..." }
140
+ }
141
+
142
+ /**
143
+ * A remainder assignment expression:
144
+ * ```
145
+ * a %= b
146
+ * ```
147
+ */
148
+ class AssignRemExpr extends AssignArithmeticOperationEx {
149
+ AssignRemExpr ( ) { this .getOperator ( ) .getName ( ) = "%=(_:_:)" }
150
+
151
+ override string toString ( ) { result = "... %= ..." }
152
+ }
153
+
106
154
/**
107
155
* A left-shift assignment expression:
108
156
* ```
@@ -114,4 +162,51 @@ class AssignLShiftExpr extends AssignBitwiseOperationEx {
114
162
115
163
override string toString ( ) { result = "... <<= ..." }
116
164
}
117
- // TODO ...
165
+
166
+ /**
167
+ * A right-shift assignment expression:
168
+ * ```
169
+ * a >>= b
170
+ * ```
171
+ */
172
+ class AssignRShiftExpr extends AssignBitwiseOperationEx {
173
+ AssignRShiftExpr ( ) { this .getOperator ( ) .getName ( ) = ">>=(_:_:)" }
174
+
175
+ override string toString ( ) { result = "... >>= ..." }
176
+ }
177
+
178
+ /**
179
+ * A bitwise-and assignment expression:
180
+ * ```
181
+ * a &= b
182
+ * ```
183
+ */
184
+ class AssignAndExpr extends AssignBitwiseOperationEx {
185
+ AssignAndExpr ( ) { this .getOperator ( ) .getName ( ) = "&=(_:_:)" }
186
+
187
+ override string toString ( ) { result = "... &= ..." }
188
+ }
189
+
190
+ /**
191
+ * A bitwise-or assignment expression:
192
+ * ```
193
+ * a |= b
194
+ * ```
195
+ */
196
+ class AssignOrExpr extends AssignBitwiseOperationEx {
197
+ AssignOrExpr ( ) { this .getOperator ( ) .getName ( ) = "|=(_:_:)" }
198
+
199
+ override string toString ( ) { result = "... |= ..." }
200
+ }
201
+
202
+ /**
203
+ * A bitwise exclusive-or assignment expression:
204
+ * ```
205
+ * a ^= b
206
+ * ```
207
+ */
208
+ class AssignXorExpr extends AssignBitwiseOperationEx {
209
+ AssignXorExpr ( ) { this .getOperator ( ) .getName ( ) = "^=(_:_:)" }
210
+
211
+ override string toString ( ) { result = "... ^= ..." }
212
+ }
0 commit comments