/** Visitor method for assert statements. Translate them away. */ public void visitAssert(JCAssert tree) { DiagnosticPosition detailPos = (tree.detail == null) ? tree.pos() : tree.detail.pos(); tree.cond = translate(tree.cond, syms.booleanType); if (!tree.cond.type.isTrue()) { JCExpression cond = assertFlagTest(tree.pos()); List<JCExpression> exnArgs = (tree.detail == null) ? List.<JCExpression>nil() : List.of(translate(tree.detail)); if (!tree.cond.type.isFalse()) { cond = makeBinary (JCTree.AND, cond, makeUnary(JCTree.NOT, tree.cond)); } result = make.If(cond, make_at(detailPos). Throw(makeNewClass(syms.assertionErrorType, exnArgs)), null); } else { result = make.Skip(); } }
/** Visitor method for assert statements. Translate them away. */ public void visitAssert(JCAssert tree) { DiagnosticPosition detailPos = (tree.detail == null) ? tree.pos() : tree.detail.pos(); tree.cond = translate(tree.cond, syms.booleanType); if (!tree.cond.type.isTrue()) { JCExpression cond = assertFlagTest(tree.pos()); List<JCExpression> exnArgs = (tree.detail == null) ? List.<JCExpression>nil() : List.of(translate(tree.detail)); if (!tree.cond.type.isFalse()) { cond = makeBinary (JCTree.AND, cond, makeUnary(JCTree.NOT, tree.cond)); } result = make.If(cond, make_at(detailPos). Throw(makeNewClass(syms.assertionErrorType, exnArgs)), null); } else { result = make.Skip(); } }
/** Visitor method for assert statements. Translate them away. */ public void visitAssert(JCAssert tree) { DiagnosticPosition detailPos = (tree.detail == null) ? tree.pos() : tree.detail.pos(); tree.cond = translate(tree.cond, syms.booleanType); if (!tree.cond.type.isTrue()) { JCExpression cond = assertFlagTest(tree.pos()); List<JCExpression> exnArgs = (tree.detail == null) ? List.<JCExpression>nil() : List.of(translate(tree.detail)); if (!tree.cond.type.isFalse()) { cond = makeBinary (AND, cond, makeUnary(NOT, tree.cond)); } result = make.If(cond, make_at(tree). Throw(makeNewClass(syms.assertionErrorType, exnArgs)), null); } else { result = make.Skip(); } }
/** Visitor method for assert statements. Translate them away. */ public void visitAssert(JCAssert tree) { DiagnosticPosition detailPos = (tree.detail == null) ? tree.pos() : tree.detail.pos(); tree.cond = translate(tree.cond, syms.booleanType); if (!tree.cond.type.isTrue()) { JCExpression cond = assertFlagTest(tree.pos()); List<JCExpression> exnArgs = (tree.detail == null) ? List.<JCExpression>nil() : List.of(translate(tree.detail)); if (!tree.cond.type.isFalse()) { cond = makeBinary (AND, cond, makeUnary(NOT, tree.cond)); } result = make.If(cond, make_at(tree). Throw(makeNewClass(syms.assertionErrorType, exnArgs)), null); } else { result = make.Skip(); } }