6 has 'type' => default => sub {'Error'};
9 has 'arguments' => default => sub {[]};
11 my ($error_messages, %line_adjust);
15 my $output = 'YAML ' . $self->type . ': ';
16 my $code = $self->code;
17 if ($error_messages->{$code}) {
18 $code = sprintf($error_messages->{$code}, @{$self->arguments});
20 $output .= $code . "\n";
22 $output .= ' Code: ' . $self->code . "\n"
23 if defined $self->code;
24 $output .= ' Line: ' . $self->line . "\n"
25 if defined $self->line;
26 $output .= ' Document: ' . $self->document . "\n"
27 if defined $self->document;
35 %$error_messages = map {s/^\s+//;$_} split "\n", <<'...';
36 YAML_PARSE_ERR_BAD_CHARS
37 Invalid characters in stream. This parser only supports printable ASCII
38 YAML_PARSE_ERR_NO_FINAL_NEWLINE
39 Stream does not end with newline character
40 YAML_PARSE_ERR_BAD_MAJOR_VERSION
41 Can't parse a %s document with a 1.0 parser
42 YAML_PARSE_WARN_BAD_MINOR_VERSION
43 Parsing a %s document with a 1.0 parser
44 YAML_PARSE_WARN_MULTIPLE_DIRECTIVES
45 '%s directive used more than once'
46 YAML_PARSE_ERR_TEXT_AFTER_INDICATOR
47 No text allowed after indicator
48 YAML_PARSE_ERR_NO_ANCHOR
49 No anchor for alias '*%s'
50 YAML_PARSE_ERR_NO_SEPARATOR
51 Expected separator '---'
52 YAML_PARSE_ERR_SINGLE_LINE
53 Couldn't parse single line value
54 YAML_PARSE_ERR_BAD_ANCHOR
56 YAML_DUMP_ERR_INVALID_INDENT
57 Invalid Indent width specified: '%s'
59 usage: YAML::Load($yaml_stream_scalar)
60 YAML_PARSE_ERR_BAD_NODE
62 YAML_PARSE_ERR_BAD_EXPLICIT
63 Unsupported explicit transfer: '%s'
64 YAML_DUMP_USAGE_DUMPCODE
65 Invalid value for DumpCode: '%s'
66 YAML_LOAD_ERR_FILE_INPUT
67 Couldn't open %s for input:\n%s
68 YAML_DUMP_ERR_FILE_CONCATENATE
69 Can't concatenate to YAML file %s
70 YAML_DUMP_ERR_FILE_OUTPUT
71 Couldn't open %s for output:\n%s
72 YAML_DUMP_ERR_NO_HEADER
73 With UseHeader=0, the node must be a plain hash or array
74 YAML_DUMP_WARN_BAD_NODE_TYPE
75 Can't perform serialization for node type: '%s'
77 Encountered a problem with 'keys':\n%s
78 YAML_DUMP_WARN_DEPARSE_FAILED
79 Deparse failed for CODE reference
80 YAML_DUMP_WARN_CODE_DUMMY
81 Emitting dummy subroutine for CODE reference
82 YAML_PARSE_ERR_MANY_EXPLICIT
83 More than one explicit transfer
84 YAML_PARSE_ERR_MANY_IMPLICIT
85 More than one implicit request
86 YAML_PARSE_ERR_MANY_ANCHOR
88 YAML_PARSE_ERR_ANCHOR_ALIAS
89 Can't define both an anchor and an alias
90 YAML_PARSE_ERR_BAD_ALIAS
92 YAML_PARSE_ERR_MANY_ALIAS
94 YAML_LOAD_ERR_NO_CONVERT
95 Can't convert implicit '%s' node to explicit '%s' node
96 YAML_LOAD_ERR_NO_DEFAULT_VALUE
97 No default value for '%s' explicit transfer
98 YAML_LOAD_ERR_NON_EMPTY_STRING
99 Only the empty string can be converted to a '%s'
100 YAML_LOAD_ERR_BAD_MAP_TO_SEQ
101 Can't transfer map as sequence. Non numeric key '%s' encountered.
102 YAML_DUMP_ERR_BAD_GLOB
103 '%s' is an invalid value for Perl glob
104 YAML_DUMP_ERR_BAD_REGEXP
105 '%s' is an invalid value for Perl Regexp
106 YAML_LOAD_ERR_BAD_MAP_ELEMENT
107 Invalid element in map
108 YAML_LOAD_WARN_DUPLICATE_KEY
109 Duplicate map key found. Ignoring.
110 YAML_LOAD_ERR_BAD_SEQ_ELEMENT
111 Invalid element in sequence
112 YAML_PARSE_ERR_INLINE_MAP
113 Can't parse inline map
114 YAML_PARSE_ERR_INLINE_SEQUENCE
115 Can't parse inline sequence
116 YAML_PARSE_ERR_BAD_DOUBLE
117 Can't parse double quoted string
118 YAML_PARSE_ERR_BAD_SINGLE
119 Can't parse single quoted string
120 YAML_PARSE_ERR_BAD_INLINE_IMPLICIT
121 Can't parse inline implicit value '%s'
122 YAML_PARSE_ERR_BAD_IMPLICIT
123 Unrecognized implicit value '%s'
124 YAML_PARSE_ERR_INDENTATION
125 Error. Invalid indentation level
126 YAML_PARSE_ERR_INCONSISTENT_INDENTATION
127 Inconsistent indentation level
128 YAML_LOAD_WARN_UNRESOLVED_ALIAS
129 Can't resolve alias *%s
130 YAML_LOAD_WARN_NO_REGEXP_IN_REGEXP
131 No 'REGEXP' element for Perl regexp
132 YAML_LOAD_WARN_BAD_REGEXP_ELEM
133 Unknown element '%s' in Perl regexp
134 YAML_LOAD_WARN_GLOB_NAME
135 No 'NAME' element for Perl glob
136 YAML_LOAD_WARN_PARSE_CODE
137 Couldn't parse Perl code scalar: %s
138 YAML_LOAD_WARN_CODE_DEPARSE
139 Won't parse Perl code unless $YAML::LoadCode is set
140 YAML_EMIT_ERR_BAD_LEVEL
141 Internal Error: Bad level detected
142 YAML_PARSE_WARN_AMBIGUOUS_TAB
143 Amibiguous tab converted to spaces
144 YAML_LOAD_WARN_BAD_GLOB_ELEM
145 Unknown element '%s' in Perl glob
146 YAML_PARSE_ERR_ZERO_INDENT
147 Can't use zero as an indentation width
148 YAML_LOAD_WARN_GLOB_IO
149 Can't load an IO filehandle. Yet!!!
152 %line_adjust = map {($_, 1)}
153 qw(YAML_PARSE_ERR_BAD_MAJOR_VERSION
154 YAML_PARSE_WARN_BAD_MINOR_VERSION
155 YAML_PARSE_ERR_TEXT_AFTER_INDICATOR
156 YAML_PARSE_ERR_NO_ANCHOR
157 YAML_PARSE_ERR_MANY_EXPLICIT
158 YAML_PARSE_ERR_MANY_IMPLICIT
159 YAML_PARSE_ERR_MANY_ANCHOR
160 YAML_PARSE_ERR_ANCHOR_ALIAS
161 YAML_PARSE_ERR_BAD_ALIAS
162 YAML_PARSE_ERR_MANY_ALIAS
163 YAML_LOAD_ERR_NO_CONVERT
164 YAML_LOAD_ERR_NO_DEFAULT_VALUE
165 YAML_LOAD_ERR_NON_EMPTY_STRING
166 YAML_LOAD_ERR_BAD_MAP_TO_SEQ
167 YAML_LOAD_ERR_BAD_STR_TO_INT
168 YAML_LOAD_ERR_BAD_STR_TO_DATE
169 YAML_LOAD_ERR_BAD_STR_TO_TIME
170 YAML_LOAD_WARN_DUPLICATE_KEY
171 YAML_PARSE_ERR_INLINE_MAP
172 YAML_PARSE_ERR_INLINE_SEQUENCE
173 YAML_PARSE_ERR_BAD_DOUBLE
174 YAML_PARSE_ERR_BAD_SINGLE
175 YAML_PARSE_ERR_BAD_INLINE_IMPLICIT
176 YAML_PARSE_ERR_BAD_IMPLICIT
177 YAML_LOAD_WARN_NO_REGEXP_IN_REGEXP
178 YAML_LOAD_WARN_BAD_REGEXP_ELEM
179 YAML_LOAD_WARN_REGEXP_CREATE
180 YAML_LOAD_WARN_GLOB_NAME
181 YAML_LOAD_WARN_PARSE_CODE
182 YAML_LOAD_WARN_CODE_DEPARSE
183 YAML_LOAD_WARN_BAD_GLOB_ELEM
184 YAML_PARSE_ERR_ZERO_INDENT
187 package YAML::Warning;
189 our @ISA = 'YAML::Error';