Skip to content

Commit b2c4742

Browse files
committed
Simplify redundant checks in visitMultipleAsgnNode()
1 parent 8925bf4 commit b2c4742

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

src/main/java/org/truffleruby/parser/BodyTranslator.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2193,7 +2193,6 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
21932193
final ParseNode rhs = node.getValueNode();
21942194

21952195
RubyNode rhsTranslated;
2196-
21972196
if (rhs == null) {
21982197
throw CompilerDirectives.shouldNotReachHere("null rhs");
21992198
} else {
@@ -2357,10 +2356,9 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
23572356
result = new ElidableResultNode(
23582357
sequence(sourceSection, sequence),
23592358
environment.findLocalVarNode(tempRHSName, sourceSection));
2360-
} else if (preArray == null && postArray == null && rest instanceof StarParseNode) {
2359+
} else if (postArray == null && rest instanceof StarParseNode) {
23612360
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)) {
23642362
/* *a = b
23652363
*
23662364
* >= 1.8, this seems to be the same as:
@@ -2417,14 +2415,14 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
24172415
}
24182416

24192417
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) {
24212419
/* *a = [b, c]
24222420
*
24232421
* This seems to be the same as:
24242422
*
24252423
* a = [b, c] */
24262424
result = translateDummyAssignment(rest, rhsTranslated);
2427-
} else if (preArray == null && rest != null && postArray != null) {
2425+
} else if (rest != null) {
24282426
/* Something like
24292427
*
24302428
* *a,b = [1, 2, 3, 4] */
@@ -2463,12 +2461,9 @@ public RubyNode visitMultipleAsgnNode(MultipleAsgnParseNode node) {
24632461

24642462
/* Then index the temp array for each assignment on the LHS. */
24652463

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));
24722467

24732468
final List<RubyNode> smallerSequence = new ArrayList<>();
24742469

0 commit comments

Comments
 (0)