49 lines
2.4 KiB
Factor
49 lines
2.4 KiB
Factor
IN: tools.errors
|
|
USING: help.markup help.syntax source-files.errors words io
|
|
compiler.errors ;
|
|
|
|
ARTICLE: "compiler-errors" "Compiler warnings and errors"
|
|
"After loading a vocabulary, you might see messages like:"
|
|
{ $code
|
|
":errors - print 2 compiler errors"
|
|
":warnings - print 50 compiler warnings"
|
|
}
|
|
"These messages arise from the compiler's stack effect checker. Production code should not have any warnings and errors in it. Warning and error conditions are documented in " { $link "inference-errors" } "."
|
|
$nl
|
|
"Words to view warnings and errors:"
|
|
{ $subsection :warnings }
|
|
{ $subsection :errors }
|
|
{ $subsection :linkage }
|
|
"Compiler warnings and errors are reported using the " { $link "tools.errors" } " mechanism and are shown in the " { $link "ui.tools.error-list" } "." ;
|
|
|
|
HELP: compiler-error
|
|
{ $values { "error" "an error" } { "word" word } }
|
|
{ $description "Saves the error for future persual via " { $link :errors } ", " { $link :warnings } " and " { $link :linkage } "." } ;
|
|
|
|
HELP: :errors
|
|
{ $description "Prints all serious compiler errors from the most recent compile to " { $link output-stream } "." } ;
|
|
|
|
HELP: :warnings
|
|
{ $description "Prints all ignorable compiler warnings from the most recent compile to " { $link output-stream } "." } ;
|
|
|
|
HELP: :linkage
|
|
{ $description "Prints all C library interface linkage errors from the most recent compile to " { $link output-stream } "." } ;
|
|
|
|
{ :errors :warnings :linkage } related-words
|
|
|
|
HELP: errors.
|
|
{ $values { "errors" "a sequence of " { $link source-file-error } " instances" } }
|
|
{ $description "Prints a list of errors, grouped by source file." } ;
|
|
|
|
ARTICLE: "tools.errors" "Batch error reporting"
|
|
"Some tools, such as the " { $link "compiler" } ", " { $link "tools.test" } " and " { $link "help.lint" } " need to report multiple errors at a time. Each error is associated with a source file, line number, and optionally, a definition. " { $link "errors" } " cannot be used for this purpose, so the " { $vocab-link "source-files.errors" } " vocabulary provides an alternative mechanism. Note that the words in this vocabulary are used for implementation only; to actually list errors, consult the documentation for the relevant tools."
|
|
$nl
|
|
"Source file errors inherit from a class:"
|
|
{ $subsection source-file-error }
|
|
"Printing an error summary:"
|
|
{ $subsection error-summary }
|
|
"Printing a list of errors:"
|
|
{ $subsection errors. }
|
|
"Batch errors are reported in the " { $link "ui.tools.error-list" } "." ;
|
|
|
|
ABOUT: "tools.errors" |