@@ -2193,7 +2193,6 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
2193
2193
final ParseNode rhs = node .getValueNode ();
2194
2194
2195
2195
RubyNode rhsTranslated ;
2196
-
2197
2196
if (rhs == null ) {
2198
2197
throw CompilerDirectives .shouldNotReachHere ("null rhs" );
2199
2198
} else {
@@ -2357,10 +2356,9 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
2357
2356
result = new ElidableResultNode (
2358
2357
sequence (sourceSection , sequence ),
2359
2358
environment .findLocalVarNode (tempRHSName , sourceSection ));
2360
- } else if (preArray == null && postArray == null && rest instanceof StarParseNode ) {
2359
+ } else if (postArray == null && rest instanceof StarParseNode ) {
2361
2360
result = rhsTranslated ;
2362
- } else if (preArray == null && postArray == null && rest != null &&
2363
- !(rhs instanceof ArrayParseNode )) {
2361
+ } else if (postArray == null && rest != null && !(rhs instanceof ArrayParseNode )) {
2364
2362
/* *a = b
2365
2363
*
2366
2364
* >= 1.8, this seems to be the same as:
@@ -2417,14 +2415,14 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
2417
2415
}
2418
2416
2419
2417
result = new ElidableResultNode (sequence (sourceSection , sequence ), assignmentResult );
2420
- } else if (preArray == null && postArray == null && rest != null && rhs instanceof ArrayParseNode ) {
2418
+ } else if (postArray == null && rest != null ) {
2421
2419
/* *a = [b, c]
2422
2420
*
2423
2421
* This seems to be the same as:
2424
2422
*
2425
2423
* a = [b, c] */
2426
2424
result = translateDummyAssignment (rest , rhsTranslated );
2427
- } else if (preArray == null && rest != null && postArray != null ) {
2425
+ } else if (rest != null ) {
2428
2426
/* Something like
2429
2427
*
2430
2428
* *a,b = [1, 2, 3, 4] */
@@ -2463,12 +2461,9 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
2463
2461
2464
2462
/* Then index the temp array for each assignment on the LHS. */
2465
2463
2466
- if (rest != null ) {
2467
- final ArrayDropTailNode assignedValue = ArrayDropTailNodeGen
2468
- .create (postArray .size (), environment .findLocalVarNode (tempName , sourceSection ));
2469
-
2470
- sequence .add (translateDummyAssignment (rest , assignedValue ));
2471
- }
2464
+ final ArrayDropTailNode assignedRestValue = ArrayDropTailNodeGen
2465
+ .create (postArray .size (), environment .findLocalVarNode (tempName , sourceSection ));
2466
+ sequence .add (translateDummyAssignment (rest , assignedRestValue ));
2472
2467
2473
2468
final List <RubyNode > smallerSequence = new ArrayList <>();
2474
2469
0 commit comments