Skip to content

Commit

Permalink
🦄 refactor: Redesign ast 49
Browse files Browse the repository at this point in the history
  • Loading branch information
caoccao committed Dec 12, 2024
1 parent c439656 commit adb70b1
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,18 +53,18 @@ public Size apply(MethodVisitor methodVisitor, Implementation.Context context) {
if (!isLeftLogical) {
methodVisitor.visitJumpInsn(opcodeCompareFalse, labelFalse);
}
if (!isTopBinExpr() && isRightLogical) {
if (labelSwitched && isRightLogical) {
right.as(Ts2JavaAstBinExprLogical.class).setLabelSwitched(true);
}
sizes.add(right.apply(methodVisitor, context));
if (!isRightLogical) {
methodVisitor.visitJumpInsn(opcodeCompareFalse, labelFalse);
methodVisitor.visitJumpInsn(opcodeCompareFalse, labelSwitched ? labelTrue : labelFalse);
}
if (labelSwitched && isLeftLogical) {
Ts2JavaAstBinExprLogical leftLogical = left.as(Ts2JavaAstBinExprLogical.class);
methodVisitor.visitLabel(leftLogical.getLabelFalse());
methodVisitor.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
}
// if (!isTopBinExpr() && isLeftLogical) {
// Ts2JavaAstBinExprLogical leftLogical = left.as(Ts2JavaAstBinExprLogical.class);
// methodVisitor.visitLabel(labelFalse);
// methodVisitor.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
// }
break;
}
case LogicalOr: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -338,9 +338,8 @@ public boolean not_LogicalAnd_ZZ_Z(boolean a, boolean b) {
return !(a || b);
}

// @Test
@Test
public void testLogicalAndOrAnd_II_Z() throws Exception {
enableLogging();
assertTrue(logicalAndOrAnd_II_Z(2, 2));
assertFalse(logicalAndOrAnd_II_Z(1, 1));
assertTrue(logicalAndOrAnd_II_Z(1, 2));
Expand Down

0 comments on commit adb70b1

Please sign in to comment.