private void handle(Statement body, ChildPropertyDescriptor bodyProperty) { if ((body.getFlags() & ASTNode.RECOVERED) != 0) return; Statement parent= (Statement)body.getParent(); if ((parent.getFlags() & ASTNode.RECOVERED) != 0) return; if (fRemoveUnnecessaryBlocksOnlyWhenReturnOrThrow) { if (!(body instanceof Block)) { if (body.getNodeType() != ASTNode.IF_STATEMENT && body.getNodeType() != ASTNode.RETURN_STATEMENT && body.getNodeType() != ASTNode.THROW_STATEMENT) { fResult.add(new AddBlockOperation(bodyProperty, body, parent)); } } else { if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, true)) { fResult.add(new RemoveBlockOperation(parent, bodyProperty)); } } } else if (fFindControlStatementsWithoutBlock) { if (!(body instanceof Block)) { fResult.add(new AddBlockOperation(bodyProperty, body, parent)); } } else if (fRemoveUnnecessaryBlocks) { if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, false)) { fResult.add(new RemoveBlockOperation(parent, bodyProperty)); } } }
private void handle(Statement body, ChildPropertyDescriptor bodyProperty) { if ((body.getFlags() & ASTNode.RECOVERED) != 0) return; Statement parent= (Statement)body.getParent(); if ((parent.getFlags() & ASTNode.RECOVERED) != 0) return; if (fRemoveUnnecessaryBlocksOnlyWhenReturnOrThrow) { if (!(body instanceof Block)) { if (body.getNodeType() != ASTNode.IF_STATEMENT && body.getNodeType() != ASTNode.RETURN_STATEMENT && body.getNodeType() != ASTNode.THROW_STATEMENT) { fResult.add(new AddBlockOperation(bodyProperty, body, parent)); } } else { if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, true)) { fResult.add(new RemoveBlockOperation(parent, bodyProperty)); } } } else if (fFindControlStatementsWithoutBlock) { if (!(body instanceof Block)) { fResult.add(new AddBlockOperation(bodyProperty, body, parent)); } } else if (fRemoveUnnecessaryBlocks) { if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, false)) { fResult.add(new RemoveBlockOperation(parent, bodyProperty)); } } }