public Object visit(AssignmentStatement node) {
            if (!node.getRValue().isExceptionPossible()) {
                return node;
            }

            SourceInfo info = node.getSourceInfo();
            VariableRef lvalue = node.getLValue();

            // Replacement assigns null to lvalue.
            Statement replacement =
                new AssignmentStatement(info, lvalue, new NullLiteral(info));

            return new ExceptionGuardStatement(node, replacement);
        }