@@ -103,6 +103,54 @@ class AssignAddExpr extends AssignArithmeticOperationEx {
103103 override string toString ( ) { result = "... += ..." }
104104}
105105
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+
106154/**
107155 * A left-shift assignment expression:
108156 * ```
@@ -114,4 +162,51 @@ class AssignLShiftExpr extends AssignBitwiseOperationEx {
114162
115163 override string toString ( ) { result = "... <<= ..." }
116164}
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