This package contains classes representing various problems that can be encountered during compilation.

Problem is a generic term for an error or warning. Each problem has a default severity classifying it as `CompilerProblemSeverity.ERROR`, `CompilerProblemSeverity.WARNING`, or `CompilerProblemSeverity.IGNORE`. The severity of any problem can be changed from the default setting by compiler options. Ignored problems are simply not reported by clients.

Every problem class has an English `DESCRIPTION` field. This field can use named placeholders such as `${className}`; the value of the corresponding field in the problem object is substituted when the problem is displayed.

An English Java `.properties` file gets built from the `DESCRIPTION` fields and then localized.