@Override public Void visitLabeledStatement(final LabeledStatement node, final Void data) { super.visitLabeledStatement(node, data); if (node.getStatement() instanceof BlockStatement) { final BlockStatement block = (BlockStatement) node.getStatement(); if (block.getStatements().hasSingleElement() && block.getStatements().firstOrNullObject() instanceof LabeledStatement) { final LabeledStatement nestedLabeledStatement = (LabeledStatement) block.getStatements().firstOrNullObject(); // // We have back-to-back labels; dump the first and redirect its references to the second. // final String nextLabel = nestedLabeledStatement.getChildByRole(Roles.LABEL).getName(); redirectLabels(node, node.getLabel(), nextLabel); nestedLabeledStatement.remove(); node.replaceWith(nestedLabeledStatement); } } return null; }
@Override public Void visitLabeledStatement(final LabeledStatement node, final Void data) { super.visitLabeledStatement(node, data); if (node.getStatement() instanceof BlockStatement) { final BlockStatement block = (BlockStatement) node.getStatement(); if (block.getStatements().hasSingleElement() && block.getStatements().firstOrNullObject() instanceof LabeledStatement) { final LabeledStatement nestedLabeledStatement = (LabeledStatement) block.getStatements().firstOrNullObject(); // // We have back-to-back labels; dump the first and redirect its references to the second. // final String nextLabel = nestedLabeledStatement.getChildByRole(Roles.LABEL).getName(); redirectLabels(node, node.getLabel(), nextLabel); nestedLabeledStatement.remove(); node.replaceWith(nestedLabeledStatement); } } return null; }
@Override public Void visitLabeledStatement(final LabeledStatement node, final Void data) { super.visitLabeledStatement(node, data); if (node.getStatement() instanceof BlockStatement) { final BlockStatement block = (BlockStatement) node.getStatement(); if (block.getStatements().hasSingleElement() && block.getStatements().firstOrNullObject() instanceof LabeledStatement) { final LabeledStatement nestedLabeledStatement = (LabeledStatement) block.getStatements().firstOrNullObject(); // // We have back-to-back labels; dump the first and redirect its references to the second. // final String nextLabel = nestedLabeledStatement.getChildByRole(Roles.LABEL).getName(); redirectLabels(node, node.getLabel(), nextLabel); nestedLabeledStatement.remove(); node.replaceWith(nestedLabeledStatement); } } return null; }