Problem
A Problem is produced when encountering an unexpected or less than ideal situation during compilation. Within an interactive system, the problem is presumably presented to the user in some manner, whereas in batch usage multiple problems may simply be collected and later presented in aggregate.
Subclasses (typically anonymous) may override continueCompilation and abortCompilation to specify how a particular problem site can continue or abort compilation, respectively. It is the responsibility of any client problem handler to decide whether to continue compiling or abort. By default, continueCompilation() simply invokes abortCompilation().
Author
Mark van Gulik
Parameters
The name of the module in which the problem was encountered, or null if no module is in context.
The one-based line number on which the problem occurred, or zero if there is no suitable line to blame.
The zero-based code point position in the file. Surrogate pairs are treated as a single code point.
The ProblemType that classifies this problem.
A String complying with the MessageFormat pattern specification.
The arguments with which to parameterize the messagePattern.
Constructors
Construct a new Problem.
Functions
Give up compilation. Note that either continueCompilation or this method must be invoked by code handling Problems.
Attempt to continue compiling past this problem. If continuing to compile is inappropriate or impossible for the receiver, then as a convenience, this method simply calls abortCompilation.
Properties
The approximate location of the problem within the source file as a zero-based subscript of the full-Unicode code points of the file. Surrogate pairs are treated as a single code point. It is strongly recommended that Avail source files are always encoded in the UTF-8 character set. The current compiler as of 2014.01.26 requires source files to be in UTF-8 encoding.
The unresolved, canonical name of the module in which the problem occurred.