NAME

Claude::Agent::Code::Review::Issue - Individual code review issue

SYNOPSIS

my $issue = Claude::Agent::Code::Review::Issue->new(
    severity    => 'high',
    category    => 'security',
    file        => 'lib/App.pm',
    line        => 42,
    description => 'SQL injection vulnerability',
    suggestion  => 'Use parameterized queries',
);

printf "%s [%s] %s:%d - %s\n",
    $issue->severity,
    $issue->category,
    $issue->file,
    $issue->line,
    $issue->description;

DESCRIPTION

Represents a single issue found during code review.

ATTRIBUTES

  • severity (required) - Issue severity: critical, high, medium, low, info

  • category (required) - Issue category: bugs, security, style, performance, maintainability

  • file (required) - File path where issue was found

  • line (required) - Line number of the issue

  • end_line - End line for multi-line issues (optional)

  • column - Column number (optional)

  • description (required) - Brief description of the issue

  • explanation - Detailed explanation of the problem (optional)

  • suggestion - Suggested fix (optional)

  • code_before - Original code snippet (optional)

  • code_after - Fixed code snippet (optional)

METHODS

has_end_line

Returns true if end_line is set.

has_column

Returns true if column is set.

has_explanation

Returns true if explanation is set.

has_suggestion

Returns true if suggestion is set.

has_code_before

Returns true if code_before is set.

has_code_after

Returns true if code_after is set.

is_critical

Returns true if severity is critical.

is_high

Returns true if severity is high.

is_security

Returns true if category is security.

location

Returns a formatted location string "file:line" or "file:line-end_line".

to_hash

Returns a hashref representation of the issue.

as_text

Returns a human-readable text representation.

AUTHOR

LNATION, <email at lnation.org>

LICENSE

This software is Copyright (c) 2026 by LNATION.

This is free software, licensed under The Artistic License 2.0 (GPL Compatible).