Wed, 14 Apr 2010 12:31:55 +0100
6939620: Switch to 'complex' diamond inference scheme
Summary: Implement new inference scheme for diamond operator that takes into account type of actual arguments supplied to constructor
Reviewed-by: jjg, darcy
1 #
2 # Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. Sun designates this
8 # particular file as subject to the "Classpath" exception as provided
9 # by Sun in the LICENSE file that accompanied this code.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 # CA 95054 USA or visit www.sun.com if you need additional information or
23 # have any questions.
24 #
26 ##
27 ## errors
28 ##
30 compiler.err.abstract.cant.be.instantiated=\
31 {0} is abstract; cannot be instantiated
32 compiler.err.abstract.meth.cant.have.body=\
33 abstract methods cannot have a body
34 compiler.err.already.annotated=\
35 {0} {1} has already been annotated
36 compiler.err.already.defined=\
37 {0} is already defined in {1}
38 compiler.err.already.defined.single.import=\
39 {0} is already defined in a single-type import
40 compiler.err.already.defined.static.single.import=\
41 {0} is already defined in a static single-type import
42 compiler.err.already.defined.this.unit=\
43 {0} is already defined in this compilation unit
44 compiler.err.annotation.missing.default.value=\
45 annotation {0} is missing {1}
46 compiler.err.annotation.not.valid.for.type=\
47 annotation not valid for a value of type {0}
48 compiler.err.annotation.type.not.applicable=\
49 annotation type not applicable to this kind of declaration
50 compiler.err.annotation.value.must.be.annotation=\
51 annotation value must be an annotation
52 compiler.err.annotation.value.must.be.class.literal=\
53 annotation value must be a class literal
54 compiler.err.annotation.value.must.be.name.value=\
55 annotation values must be of the form ''name=value''
56 compiler.err.annotation.value.not.allowable.type=\
57 annotation value not of an allowable type
58 compiler.err.anon.class.impl.intf.no.args=\
59 anonymous class implements interface; cannot have arguments
60 compiler.err.anon.class.impl.intf.no.typeargs=\
61 anonymous class implements interface; cannot have type arguments
62 compiler.err.anon.class.impl.intf.no.qual.for.new=\
63 anonymous class implements interface; cannot have qualifier for new
64 compiler.err.array.and.varargs=\
65 cannot declare both {0} and {1} in {2}
66 compiler.err.array.dimension.missing=\
67 array dimension missing
68 compiler.err.array.req.but.found=\
69 array required, but {0} found
71 compiler.err.assignment.from.super-bound=\
72 assigning from wildcard {0}
73 compiler.err.assignment.to.extends-bound=\
74 assigning to wildcard {0}
75 compiler.err.attribute.value.must.be.constant=\
76 attribute value must be constant
78 compiler.err.break.outside.switch.loop=\
79 break outside switch or loop
81 compiler.err.call.must.be.first.stmt.in.ctor=\
82 call to {0} must be first statement in constructor
83 compiler.err.cant.apply.symbol=\
84 {0} {1} in {4} {5} cannot be applied to given types\n\
85 required: {2}\n\
86 found: {3}
87 compiler.err.cant.apply.symbol.1=\
88 {0} {1} in {4} {5} cannot be applied to given types;\n\
89 required: {2}\n\
90 found: {3}\n\
91 reason: {6}
92 compiler.err.cant.assign.val.to.final.var=\
93 cannot assign a value to final variable {0}
94 compiler.err.cant.deref=\
95 {0} cannot be dereferenced
96 compiler.err.cant.extend.intf.annotation=\
97 ''extends'' not allowed for @interfaces
98 compiler.err.cant.inherit.from.final=\
99 cannot inherit from final {0}
100 compiler.err.cant.ref.before.ctor.called=\
101 cannot reference {0} before supertype constructor has been called
102 compiler.err.cant.ret.val.from.meth.decl.void=\
103 cannot return a value from method whose result type is void
104 compiler.err.cant.select.static.class.from.param.type=\
105 cannot select a static class from a parameterized type
106 compiler.err.cant.inherit.diff.arg=\
107 {0} cannot be inherited with different arguments: <{1}> and <{2}>
108 compiler.err.catch.without.try=\
109 ''catch'' without ''try''
110 compiler.err.clash.with.pkg.of.same.name=\
111 {0} clashes with package of same name
112 compiler.err.const.expr.req=\
113 constant expression required
114 compiler.err.enum.const.req=\
115 unqualified enumeration constant name required
116 compiler.err.cont.outside.loop=\
117 continue outside of loop
118 compiler.err.cyclic.inheritance=\
119 cyclic inheritance involving {0}
120 compiler.err.cyclic.annotation.element=\
121 cyclic annotation element type
122 compiler.err.call.to.super.not.allowed.in.enum.ctor=\
123 call to super not allowed in enum constructor
124 compiler.err.no.superclass=\
125 {0} has no superclass
127 compiler.err.concrete.inheritance.conflict=\
128 methods {0} from {1} and {2} from {3} are inherited with the same signature
130 compiler.err.default.allowed.in.intf.annotation.member=\
131 default value only allowed in an @interface member
132 compiler.err.doesnt.exist=\
133 package {0} does not exist
134 compiler.err.duplicate.annotation=\
135 duplicate annotation
136 compiler.err.duplicate.annotation.member.value=\
137 duplicate annotation member value {0} in {1}
138 compiler.err.duplicate.class=\
139 duplicate class: {0}
140 compiler.err.duplicate.case.label=\
141 duplicate case label
142 compiler.err.duplicate.default.label=\
143 duplicate default label
145 compiler.err.else.without.if=\
146 ''else'' without ''if''
147 compiler.err.empty.bytecode.ident=\
148 empty bytecode identifier
149 compiler.err.empty.char.lit=\
150 empty character literal
151 compiler.err.encl.class.required=\
152 an enclosing instance that contains {0} is required
153 compiler.err.enum.annotation.must.be.enum.constant=\
154 an enum annotation value must be an enum constant
156 compiler.err.enum.cant.be.instantiated=\
157 enum types may not be instantiated
158 compiler.err.enum.label.must.be.unqualified.enum=\
159 an enum switch case label must be the unqualified name of an enumeration constant
160 compiler.err.enum.no.subclassing=\
161 classes cannot directly extend java.lang.Enum
162 compiler.err.enum.types.not.extensible=\
163 enum types are not extensible
164 compiler.err.enum.no.finalize=\
165 enums cannot have finalize methods
166 compiler.err.error.reading.file=\
167 error reading {0}; {1}
168 compiler.err.except.already.caught=\
169 exception {0} has already been caught
170 compiler.err.except.never.thrown.in.try=\
171 exception {0} is never thrown in body of corresponding try statement
173 compiler.err.final.parameter.may.not.be.assigned=\
174 final parameter {0} may not be assigned
175 compiler.err.finally.without.try=\
176 ''finally'' without ''try''
177 compiler.err.foreach.not.applicable.to.type=\
178 foreach not applicable to expression type
179 compiler.err.fp.number.too.large=\
180 floating point number too large
181 compiler.err.fp.number.too.small=\
182 floating point number too small
184 compiler.err.generic.array.creation=\
185 generic array creation
186 compiler.err.generic.throwable=\
187 a generic class may not extend java.lang.Throwable
189 compiler.err.icls.cant.have.static.decl=\
190 inner classes cannot have static declarations
191 compiler.err.illegal.bytecode.ident.char=\
192 illegal bytecode identifier character: \\{0}
193 compiler.err.illegal.char=\
194 illegal character: \\{0}
195 compiler.err.illegal.char.for.encoding=\
196 unmappable character for encoding {0}
197 compiler.err.illegal.combination.of.modifiers=\
198 illegal combination of modifiers: {0} and {1}
199 compiler.err.illegal.enum.static.ref=\
200 illegal reference to static field from initializer
201 compiler.err.illegal.esc.char=\
202 illegal escape character
203 compiler.err.illegal.forward.ref=\
204 illegal forward reference
205 compiler.warn.forward.ref=\
206 reference to variable ''{0}'' before it has been initialized
207 compiler.err.illegal.self.ref=\
208 self-reference in initializer
209 compiler.warn.self.ref=\
210 self-reference in initializer of variable ''{0}''
211 compiler.err.illegal.generic.type.for.instof=\
212 illegal generic type for instanceof
213 compiler.err.illegal.initializer.for.type=\
214 illegal initializer for {0}
215 compiler.err.illegal.line.end.in.char.lit=\
216 illegal line end in character literal
217 compiler.err.illegal.nonascii.digit=\
218 illegal non-ASCII digit
219 compiler.err.illegal.underscore=\
220 illegal underscore
221 compiler.err.illegal.qual.not.icls=\
222 illegal qualifier; {0} is not an inner class
223 compiler.err.illegal.start.of.expr=\
224 illegal start of expression
225 compiler.err.illegal.start.of.type=\
226 illegal start of type
227 compiler.err.illegal.unicode.esc=\
228 illegal unicode escape
229 compiler.err.import.requires.canonical=\
230 import requires canonical name for {0}
231 compiler.err.improperly.formed.type.param.missing=\
232 improperly formed type, some parameters are missing
233 compiler.err.improperly.formed.type.inner.raw.param=\
234 improperly formed type, type parameters given on a raw type
235 compiler.err.incomparable.types=\
236 incomparable types: {0} and {1}
237 compiler.err.int.number.too.large=\
238 integer number too large: {0}
239 compiler.err.internal.error.cant.instantiate=\
240 internal error; cannot instantiate {0} at {1} to ({2})
241 compiler.err.intf.annotation.members.cant.have.params=\
242 @interface members may not have parameters
243 compiler.err.intf.annotation.cant.have.type.params=\
244 @interface may not have type parameters
245 compiler.err.intf.annotation.members.cant.have.type.params=\
246 @interface members may not have type parameters
247 compiler.err.intf.annotation.member.clash=\
248 @interface member clashes with method ''{0}'' in {1}
249 compiler.err.intf.expected.here=\
250 interface expected here
251 compiler.err.intf.meth.cant.have.body=\
252 interface methods cannot have body
253 compiler.err.invalid.annotation.member.type=\
254 invalid type for annotation member
255 compiler.err.invalid.binary.number=\
256 binary numbers must contain at least one binary digit
257 compiler.err.invalid.hex.number=\
258 hexadecimal numbers must contain at least one hexadecimal digit
259 compiler.err.invalid.meth.decl.ret.type.req=\
260 invalid method declaration; return type required
262 compiler.err.label.already.in.use=\
263 label {0} already in use
264 compiler.err.local.var.accessed.from.icls.needs.final=\
265 local variable {0} is accessed from within inner class; needs to be declared final
266 compiler.err.local.enum=\
267 enum types must not be local
268 compiler.err.cannot.create.array.with.type.arguments=\
269 cannot create array with type arguments
271 #
272 # limits. We don't give the limits in the diagnostic because we expect
273 # them to change, yet we want to use the same diagnostic. These are all
274 # detected during code generation.
275 #
276 compiler.err.limit.code=\
277 code too large
278 compiler.err.limit.code.too.large.for.try.stmt=\
279 code too large for try statement
280 compiler.err.limit.dimensions=\
281 array type has too many dimensions
282 compiler.err.limit.locals=\
283 too many local variables
284 compiler.err.limit.parameters=\
285 too many parameters
286 compiler.err.limit.pool=\
287 too many constants
288 compiler.err.limit.pool.in.class=\
289 too many constants in class {0}
290 compiler.err.limit.stack=\
291 code requires too much stack
292 compiler.err.limit.string=\
293 constant string too long
294 compiler.err.limit.string.overflow=\
295 UTF8 representation for string \"{0}...\" is too long for the constant pool
297 compiler.err.malformed.fp.lit=\
298 malformed floating point literal
299 compiler.err.method.does.not.override.superclass=\
300 method does not override or implement a method from a supertype
301 compiler.err.missing.meth.body.or.decl.abstract=\
302 missing method body, or declare abstract
303 compiler.err.missing.ret.stmt=\
304 missing return statement
305 compiler.err.missing.ret.val=\
306 missing return value
307 compiler.err.mod.not.allowed.here=\
308 modifier {0} not allowed here
309 compiler.err.intf.not.allowed.here=\
310 interface not allowed here
311 compiler.err.enums.must.be.static=\
312 enum declarations allowed only in static contexts
314 compiler.err.name.clash.same.erasure=\
315 name clash: {0} and {1} have the same erasure
316 compiler.err.name.clash.same.erasure.no.override=\
317 name clash: {0} in {1} and {2} in {3} have the same erasure, yet neither overrides the other
318 compiler.err.name.reserved.for.internal.use=\
319 {0} is reserved for internal use
320 compiler.err.native.meth.cant.have.body=\
321 native methods cannot have a body
322 compiler.err.neither.conditional.subtype=\
323 incompatible types for ?: neither is a subtype of the other\n\
324 second operand: {0}\n\
325 third operand : {1}
326 compiler.err.new.not.allowed.in.annotation=\
327 ''new'' not allowed in an annotation
328 compiler.err.no.annotation.member=\
329 no annotation member {0} in {1}
330 compiler.err.no.encl.instance.of.type.in.scope=\
331 no enclosing instance of type {0} is in scope
332 compiler.err.no.intf.expected.here=\
333 no interface expected here
334 compiler.err.no.match.entry=\
335 {0} has no match in entry in {1}; required {2}
336 compiler.err.not.annotation.type=\
337 {0} is not an annotation type
338 compiler.err.not.def.access.class.intf.cant.access=\
339 {0} in {1} is defined in an inaccessible class or interface
340 compiler.err.not.def.public.cant.access=\
341 {0} is not public in {1}; cannot be accessed from outside package
342 compiler.err.not.loop.label=\
343 not a loop label: {0}
344 compiler.err.not.stmt=\
345 not a statement
346 compiler.err.not.encl.class=\
347 not an enclosing class: {0}
349 compiler.err.operator.cant.be.applied=\
350 operator {0} cannot be applied to {1}
352 compiler.err.pkg.annotations.sb.in.package-info.java=\
353 package annotations should be in file package-info.java
354 compiler.err.pkg.clashes.with.class.of.same.name=\
355 package {0} clashes with class of same name
357 compiler.err.warnings.and.werror=\
358 warnings found and -Werror specified
360 # Errors related to annotation processing
362 compiler.err.proc.cant.access=\
363 cannot access {0}\n\
364 {1}\n\
365 Consult the following stack trace for details.\n\
366 {2}
368 compiler.err.proc.cant.find.class=\
369 Could not find class file for ''{0}''.
371 # Print a client-generated error message; assumed to be localized, no translation required
372 compiler.err.proc.messager=\
373 {0}
375 compiler.err.proc.no.explicit.annotation.processing.requested=\
376 Class names, ''{0}'', are only accepted if annotation processing is explicitly requested
378 compiler.err.proc.no.service=\
379 A service loader class could not be found.\n\
380 Either java.util.ServiceLoader or sun.misc.Service must be available.
382 compiler.err.proc.processor.bad.option.name=\
383 Bad option name ''{0}'' provided by processor ''{1}''
385 compiler.err.proc.processor.cant.instantiate=\
386 Could not instantiate an instance of processor ''{0}''
388 compiler.err.proc.processor.constructor.error=\
389 Exception thrown while constructing Processor object: {0}
391 compiler.err.proc.processor.not.found=\
392 Annotation processor ''{0}'' not found
394 compiler.err.proc.processor.wrong.type=\
395 Annotation processor ''{0}'' does not implement javax.annotation.processing.Processor
397 compiler.err.proc.service.problem=\
398 Error creating a service loader to load Processors.
400 compiler.err.proc.bad.config.file=\
401 Bad service configuration file, or exception thrown while constructing Processor object: {0}
403 compiler.err.proc.cant.create.loader=\
404 Could not create class loader for annotation processors: {0}
406 compiler.err.qualified.new.of.static.class=\
407 qualified new of static class
409 compiler.err.recursive.ctor.invocation=\
410 recursive constructor invocation
411 compiler.err.ref.ambiguous=\
412 reference to {0} is ambiguous, both {1} {2} in {3} and {4} {5} in {6} match
413 compiler.err.repeated.annotation.target=\
414 repeated annotation target
415 compiler.err.repeated.interface=\
416 repeated interface
417 compiler.err.repeated.modifier=\
418 repeated modifier
419 compiler.err.report.access=\
420 {0} has {1} access in {2}
421 compiler.err.ret.outside.meth=\
422 return outside method
424 compiler.err.signature.doesnt.match.supertype=\
425 signature does not match {0}; incompatible supertype
426 compiler.err.signature.doesnt.match.intf=\
427 signature does not match {0}; incompatible interfaces
428 compiler.err.does.not.override.abstract=\
429 {0} is not abstract and does not override abstract method {1} in {2}
430 compiler.err.source.cant.overwrite.input.file=\
431 error writing source; cannot overwrite input file {0}
432 compiler.err.stack.sim.error=\
433 Internal error: stack sim error on {0}
434 compiler.err.static.imp.only.classes.and.interfaces=\
435 static import only from classes and interfaces
436 compiler.err.string.const.req=\
437 constant string expression required
438 compiler.err.synthetic.name.conflict=\
439 the symbol {0} conflicts with a compiler-synthesized symbol in {1}
440 compiler.warn.synthetic.name.conflict=\
441 the symbol {0} conflicts with a compiler-synthesized symbol in {1}
443 compiler.err.throws.not.allowed.in.intf.annotation=\
444 throws clause not allowed in @interface members
445 compiler.err.try.without.catch.or.finally=\
446 ''try'' without ''catch'' or ''finally''
447 compiler.err.type.doesnt.take.params=\
448 type {0} does not take parameters
449 compiler.err.type.var.cant.be.deref=\
450 cannot select from a type variable
451 compiler.err.type.var.may.not.be.followed.by.other.bounds=\
452 a type variable may not be followed by other bounds
453 compiler.err.type.var.more.than.once=\
454 type variable {0} occurs more than once in result type of {1}; cannot be left uninstantiated
455 compiler.err.type.var.more.than.once.in.result=\
456 type variable {0} occurs more than once in type of {1}; cannot be left uninstantiated
457 compiler.err.types.incompatible.diff.ret=\
458 types {0} and {1} are incompatible; both define {2}, but with unrelated return types
460 compiler.err.unclosed.bytecode.ident=\
461 unclosed bytecode identifier
462 compiler.err.unclosed.char.lit=\
463 unclosed character literal
464 compiler.err.unclosed.comment=\
465 unclosed comment
466 compiler.err.unclosed.str.lit=\
467 unclosed string literal
468 compiler.err.unknown.enum.constant=\
469 in class file {0}: unknown enum constant {1}.{2}
470 compiler.err.unsupported.encoding=\
471 unsupported encoding: {0}
472 compiler.err.io.exception=\
473 error reading source file: {0}
474 compiler.err.undef.label=\
475 undefined label: {0}
476 compiler.err.undetermined.type=\
477 type parameters of {0} cannot be determined
478 compiler.err.undetermined.type.1=\
479 type parameters of {0} cannot be determined; {1}
480 compiler.err.invalid.inferred.types=\
481 invalid inferred types for {0}; {1}
482 compiler.err.cant.apply.diamond=\
483 cannot infer type arguments for {0}
484 compiler.err.cant.apply.diamond.1=\
485 cannot infer type arguments for {0};\n\
486 reason: {1}
487 compiler.err.unreachable.stmt=\
488 unreachable statement
489 compiler.err.initializer.must.be.able.to.complete.normally=\
490 initializer must be able to complete normally
491 compiler.err.unreported.exception.need.to.catch.or.throw=\
492 unreported exception {0}; must be caught or declared to be thrown
493 compiler.err.unreported.exception.default.constructor=\
494 unreported exception {0} in default constructor
495 compiler.err.unsupported.cross.fp.lit=\
496 hexadecimal floating-point literals are not supported on this VM
497 compiler.err.void.not.allowed.here=\
498 ''void'' type not allowed here
500 compiler.err.wrong.number.type.args=\
501 wrong number of type arguments; required {0}
503 compiler.err.var.might.already.be.assigned=\
504 variable {0} might already have been assigned
505 compiler.err.var.might.not.have.been.initialized=\
506 variable {0} might not have been initialized
507 compiler.err.var.might.be.assigned.in.loop=\
508 variable {0} might be assigned in loop
510 # In the following string, {1} will always be the detail message from
511 # java.io.IOException.
512 compiler.err.class.cant.write=\
513 error while writing {0}: {1}
515 # In the following string, {0} is the name of the class in the Java source.
516 # It really should be used two times..
517 compiler.err.class.public.should.be.in.file=\
518 class {0} is public, should be declared in a file named {0}.java
520 ## All errors which do not refer to a particular line in the source code are
521 ## preceded by this string.
522 compiler.err.error=\
523 error:\u0020
525 # The following error messages do not refer to a line in the source code.
526 compiler.err.cant.read.file=\
527 cannot read: {0}
529 #####
531 # Fatal Errors
533 compiler.misc.fatal.err.no.java.lang=\
534 Fatal Error: Unable to find package java.lang in classpath or bootclasspath
535 compiler.misc.fatal.err.cant.locate.meth=\
536 Fatal Error: Unable to find method {0}
537 compiler.misc.fatal.err.cant.locate.field=\
538 Fatal Error: Unable to find field {0}
539 compiler.misc.fatal.err.cant.locate.ctor=\
540 Fatal Error: Unable to find constructor for {0}
542 #####
544 ##
545 ## miscellaneous strings
546 ##
548 compiler.misc.source.unavailable=\
549 (source unavailable)
550 compiler.misc.base.membership=\
551 all your base class are belong to us
552 compiler.misc.x.print.processor.info=\
553 Processor {0} matches {1} and returns {2}.
554 compiler.misc.x.print.rounds=\
555 Round {0}:\n\tinput files: {1}\n\tannotations: {2}\n\tlast round: {3}
557 #####
559 ## The following string will appear before all messages keyed as:
560 ## "compiler.note".
561 compiler.note.note=\
562 Note:\u0020
564 compiler.note.deprecated.filename=\
565 {0} uses or overrides a deprecated API.
566 compiler.note.deprecated.plural=\
567 Some input files use or override a deprecated API.
568 # The following string may appear after one of the above deprecation
569 # messages.
570 compiler.note.deprecated.recompile=\
571 Recompile with -Xlint:deprecation for details.
573 compiler.note.deprecated.filename.additional=\
574 {0} has additional uses or overrides of a deprecated API.
575 compiler.note.deprecated.plural.additional=\
576 Some input files additionally use or override a deprecated API.
578 compiler.note.unchecked.filename=\
579 {0} uses unchecked or unsafe operations.
580 compiler.note.unchecked.plural=\
581 Some input files use unchecked or unsafe operations.
582 # The following string may appear after one of the above deprecation
583 # messages.
584 compiler.note.unchecked.recompile=\
585 Recompile with -Xlint:unchecked for details.
587 compiler.note.unchecked.filename.additional=\
588 {0} has additional unchecked or unsafe operations.
589 compiler.note.unchecked.plural.additional=\
590 Some input files additionally use unchecked or unsafe operations.
592 compiler.note.sunapi.filename=\
593 {0} uses Sun proprietary API that may be removed in a future release.
594 compiler.note.sunapi.plural=\
595 Some input files use Sun proprietary API that may be removed in a future release.
596 # The following string may appear after one of the above sunapi messages.
597 compiler.note.sunapi.recompile=\
598 Recompile with -Xlint:sunapi for details.
600 compiler.note.sunapi.filename.additional=\
601 {0} uses additional Sun proprietary API that may be removed in a future release.
602 compiler.note.sunapi.plural.additional=\
603 Some input files additionally use Sun proprietary API that may be removed in a future release.
605 # Notes related to annotation processing
607 # Print a client-generated note; assumed to be localized, no translation required
608 compiler.note.proc.messager=\
609 {0}
611 #####
613 compiler.misc.count.error=\
614 {0} error
615 compiler.misc.count.error.plural=\
616 {0} errors
617 compiler.misc.count.warn=\
618 {0} warning
619 compiler.misc.count.warn.plural=\
620 {0} warnings
622 ## extra output when using -verbose (JavaCompiler)
624 compiler.misc.verbose.checking.attribution=\
625 [checking {0}]
626 compiler.misc.verbose.parsing.done=\
627 [parsing completed {0}ms]
628 compiler.misc.verbose.parsing.started=\
629 [parsing started {0}]
630 compiler.misc.verbose.total=\
631 [total {0}ms]
632 compiler.misc.verbose.wrote.file=\
633 [wrote {0}]
635 ## extra output when using -verbose (Retro)
636 compiler.misc.verbose.retro=\
637 [retrofitting {0}]
638 compiler.misc.verbose.retro.with=\
639 \tretrofitting {0} with {1}
640 compiler.misc.verbose.retro.with.list=\
641 \tretrofitting {0} with type parameters {1}, supertype {2}, interfaces {3}
643 ## extra output when using -verbose (code/ClassReader)
644 compiler.misc.verbose.loading=\
645 [loading {0}]
647 compiler.misc.verbose.sourcepath=\
648 [search path for source files: {0}]
650 compiler.misc.verbose.classpath=\
651 [search path for class files: {0}]
653 ## extra output when using -checkclassfile (code/ClassReader)
654 compiler.misc.ccf.found.later.version=\
655 class file has later version than expected: {0}
656 compiler.misc.ccf.unrecognized.attribute=\
657 unrecognized attribute: {0}
659 ## extra output when using -prompt (util/Log)
660 compiler.misc.resume.abort=\
661 R)esume, A)bort>
663 #####
665 ##
666 ## warnings
667 ##
669 ## All warning messages are preceded by the following string.
670 compiler.warn.warning=\
671 warning:\u0020
673 compiler.warn.constant.SVUID=\
674 [serial] serialVersionUID must be constant in class {0}
676 compiler.warn.dir.path.element.not.found=\
677 [path] bad path element "{0}": no such directory
679 compiler.warn.finally.cannot.complete=\
680 [finally] finally clause cannot complete normally
682 compiler.warn.has.been.deprecated=\
683 [deprecation] {0} in {1} has been deprecated
685 compiler.warn.sun.proprietary=\
686 {0} is Sun proprietary API and may be removed in a future release
688 compiler.warn.illegal.char.for.encoding=\
689 unmappable character for encoding {0}
690 compiler.warn.improper.SVUID=\
691 [serial] serialVersionUID must be declared static final in class {0}
693 compiler.warn.inexact.non-varargs.call=\
694 non-varargs call of varargs method with inexact argument type for last parameter;\n\
695 cast to {0} for a varargs call\n\
696 cast to {1} for a non-varargs call and to suppress this warning
698 compiler.warn.long.SVUID=\
699 [serial] serialVersionUID must be of type long in class {0}
701 compiler.warn.missing.SVUID=\
702 [serial] serializable class {0} has no definition of serialVersionUID
704 compiler.warn.override.varargs.missing=\
705 {0}; overridden method has no ''...''
706 compiler.warn.override.varargs.extra=\
707 {0}; overriding method is missing ''...''
708 compiler.warn.override.bridge=\
709 {0}; overridden method is a bridge method
711 compiler.warn.pkg-info.already.seen=\
712 a package-info.java file has already been seen for package {0}
713 compiler.warn.path.element.not.found=\
714 [path] bad path element "{0}": no such file or directory
715 compiler.warn.possible.fall-through.into.case=\
716 [fallthrough] possible fall-through into case
718 compiler.warn.redundant.cast=\
719 [cast] redundant cast to {0}
721 compiler.warn.position.overflow=\
722 Position encoding overflows at line {0}
724 compiler.warn.big.major.version=\
725 {0}: major version {1} is newer than {2}, the highest major version supported by this compiler.\n\
726 It is recommended that the compiler be upgraded.
728 compiler.warn.static.not.qualified.by.type=\
729 [static] static {0} should be qualified by type name, {1}, instead of by an expression
731 # Warnings related to annotation processing
732 compiler.warn.proc.package.does.not.exist=\
733 package {0} does not exist
734 compiler.warn.proc.file.reopening=\
735 Attempt to create a file for ''{0}'' multiple times
737 compiler.warn.proc.type.already.exists=\
738 A file for type ''{0}'' already exists on the sourcepath or classpath
740 compiler.warn.proc.type.recreate=\
741 Attempt to create a file for type ''{0}'' multiple times
743 compiler.warn.proc.illegal.file.name=\
744 Cannot create file for illegal name ''{0}''.
746 compiler.warn.proc.file.create.last.round=\
747 File for type ''{0}'' created in the last round will not be subject to annotation processing.
749 compiler.warn.proc.malformed.supported.string=\
750 Malformed string ''{0}'' for a supported annotation type returned by processor ''{1}''
752 compiler.warn.proc.annotations.without.processors=\
753 No processor claimed any of these annotations: {0}
755 compiler.warn.proc.processor.incompatible.source.version=\
756 Supported source version ''{0}'' from annotation processor ''{1}'' less than -source ''{2}''
758 compiler.warn.proc.proc-only.requested.no.procs=\
759 Annotation processing without compilation requested but no processors were found.
761 compiler.warn.proc.use.implicit=\
762 Implicitly compiled files were not subject to annotation processing.\n\
763 Use -implicit to specify a policy for implicit compilation.
765 compiler.warn.proc.use.proc.or.implicit=\
766 Implicitly compiled files were not subject to annotation processing.\n\
767 Use -proc:none to disable annotation processing or -implicit to specify a policy for implicit compilation.
769 # Print a client-generated warning; assumed to be localized, no translation required
770 compiler.warn.proc.messager=\
771 {0}
773 compiler.warn.proc.unclosed.type.files=\
774 Unclosed files for the types ''{0}''; these types will not undergo annotation processing
776 compiler.warn.proc.unmatched.processor.options=\
777 The following options were not recognized by any processor: ''{0}''
779 compiler.warn.unchecked.assign=\
780 [unchecked] unchecked assignment: {0} to {1}
781 compiler.warn.unchecked.assign.to.var=\
782 [unchecked] unchecked assignment to variable {0} as member of raw type {1}
783 compiler.warn.unchecked.call.mbr.of.raw.type=\
784 [unchecked] unchecked call to {0} as a member of the raw type {1}
785 compiler.warn.unchecked.cast.to.type=\
786 [unchecked] unchecked cast to type {0}
787 compiler.warn.unchecked.meth.invocation.applied=\
788 [unchecked] unchecked method invocation: {0} {1} in {4} {5} is applied to given types\n\
789 required: {2}\n\
790 found: {3}
792 compiler.warn.unchecked.generic.array.creation=\
793 [unchecked] unchecked generic array creation for varargs parameter of type {0}
795 compiler.warn.missing.deprecated.annotation=\
796 [dep-ann] deprecated item is not annotated with @Deprecated
798 compiler.warn.invalid.archive.file=\
799 [path] Unexpected file on path: {0}
801 compiler.warn.unexpected.archive.file=\
802 [path] Unexpected extension for archive file: {0}
804 compiler.warn.div.zero=\
805 [divzero] division by zero
807 compiler.warn.empty.if=\
808 [empty] empty statement after if
810 compiler.warn.annotation.method.not.found=\
811 Cannot find annotation method ''{1}()'' in type ''{0}''
813 compiler.warn.annotation.method.not.found.reason=\
814 Cannot find annotation method ''{1}()'' in type ''{0}'': {2}
816 compiler.warn.raw.class.use=\
817 [rawtypes] found raw type: {0}\n\
818 missing type parameters for generic class {1}
820 #####
822 ## The following are tokens which are non-terminals in the language. They should
823 ## be named as JLS3 calls them when translated to the appropriate language.
824 compiler.misc.token.identifier=\
825 <identifier>
826 compiler.misc.token.character=\
827 <character>
828 compiler.misc.token.string=\
829 <string>
830 compiler.misc.token.integer=\
831 <integer>
832 compiler.misc.token.long-integer=\
833 <long integer>
834 compiler.misc.token.float=\
835 <float>
836 compiler.misc.token.double=\
837 <double>
838 compiler.misc.token.bad-symbol=\
839 <bad symbol>
840 compiler.misc.token.end-of-input=\
841 <end of input>
843 ## The argument to the following string will always be one of the following:
844 ## 1. one of the above non-terminals
845 ## 2. a keyword (JLS1.8)
846 ## 3. a boolean literal (JLS3.10.3)
847 ## 4. the null literal (JLS3.10.7)
848 ## 5. a Java separator (JLS3.11)
849 ## 6. an operator (JLS3.12)
850 ##
851 ## This is the only place these tokens will be used.
852 compiler.err.expected=\
853 {0} expected
854 compiler.err.expected2=\
855 {0} or {1} expected
856 compiler.err.expected3=\
857 {0}, {1}, or {2} expected
859 compiler.err.premature.eof=\
860 reached end of file while parsing
862 ## The following are related in form, but do not easily fit the above paradigm.
863 compiler.err.dot.class.expected=\
864 ''.class'' expected
866 ## The argument to this string will always be either 'case' or 'default'.
867 compiler.err.orphaned=\
868 orphaned {0}
870 compiler.misc.anonymous.class=\
871 <anonymous {0}>
873 compiler.misc.type.captureof=\
874 capture#{0} of {1}
876 compiler.misc.type.captureof.1=\
877 capture#{0}
879 compiler.misc.type.none=\
880 <none>
882 compiler.misc.unnamed.package=\
883 unnamed package
885 #####
887 compiler.err.cant.access=\
888 cannot access {0}\n\
889 {1}
891 compiler.misc.bad.class.file.header=\
892 bad class file: {0}\n\
893 {1}\n\
894 Please remove or make sure it appears in the correct subdirectory of the classpath.
895 compiler.misc.bad.source.file.header=\
896 bad source file: {0}\n\
897 {1}\n\
898 Please remove or make sure it appears in the correct subdirectory of the sourcepath.
900 ## The following are all possible strings for the second argument ({1}) of the
901 ## above strings.
902 compiler.misc.bad.class.signature=\
903 bad class signature: {0}
904 compiler.misc.bad.enclosing.method=\
905 bad enclosing method attribute: {0}
906 compiler.misc.bad.runtime.invisible.param.annotations=\
907 bad RuntimeInvisibleParameterAnnotations attribute: {0}
908 compiler.misc.bad.const.pool.tag=\
909 bad constant pool tag: {0}
910 compiler.misc.bad.const.pool.tag.at=\
911 bad constant pool tag: {0} at {1}
912 compiler.misc.bad.signature=\
913 bad signature: {0}
914 compiler.misc.bad.type.annotation.value=\
915 bad type annotation target type value: {0}
916 compiler.misc.class.file.wrong.class=\
917 class file contains wrong class: {0}
918 compiler.misc.class.file.not.found=\
919 class file for {0} not found
920 compiler.misc.file.doesnt.contain.class=\
921 file does not contain class {0}
922 compiler.misc.file.does.not.contain.package=\
923 file does not contain package {0}
924 compiler.misc.illegal.start.of.class.file=\
925 illegal start of class file
926 compiler.misc.unable.to.access.file=\
927 unable to access file: {0}
928 compiler.misc.unicode.str.not.supported=\
929 unicode string in class file not supported
930 compiler.misc.undecl.type.var=\
931 undeclared type variable: {0}
932 compiler.misc.wrong.version=\
933 class file has wrong version {0}.{1}, should be {2}.{3}
935 #####
937 compiler.err.not.within.bounds=\
938 type parameter {0} is not within its bound
940 compiler.err.not.within.bounds.explain=\
941 type parameter {0} is not within its bound; {1}
943 ## The following are all possible strings for the second argument ({1}) of the
944 ## above string.
946 ## none yet...
948 #####
950 compiler.err.prob.found.req=\
951 {0}\n\
952 required: {2}\n\
953 found: {1}
954 compiler.warn.prob.found.req=\
955 {0}\n\
956 required: {2}\n\
957 found: {1}
958 compiler.err.prob.found.req.1=\
959 {0} {3}\n\
960 required: {2}\n\
961 found: {1}
963 ## The following are all possible strings for the first argument ({0}) of the
964 ## above strings.
965 compiler.misc.incompatible.types=\
966 incompatible types
967 compiler.misc.incompatible.types.1=\
968 incompatible types; {0}
969 compiler.misc.inconvertible.types=\
970 inconvertible types
971 compiler.misc.possible.loss.of.precision=\
972 possible loss of precision
974 compiler.misc.unchecked.assign=\
975 [unchecked] unchecked conversion
976 # compiler.misc.storecheck=\
977 # [unchecked] assignment might cause later store checks to fail
978 # compiler.misc.unchecked=\
979 # [unchecked] assigned array cannot dynamically check its stores
980 compiler.misc.unchecked.cast.to.type=\
981 [unchecked] unchecked cast
983 compiler.misc.assignment.from.super-bound=\
984 assignment from super-bound type {0}
985 compiler.misc.assignment.to.extends-bound=\
986 assignment to extends-bound type {0}
987 # compiler.err.star.expected=\
988 # ''*'' expected
989 # compiler.err.no.elem.type=\
990 # \[\*\] cannot have a type
992 #####
994 compiler.err.type.found.req=\
995 unexpected type\n\
996 required: {1}\n\
997 found: {0}
999 ## The following are all possible strings for the first argument ({0}) of the
1000 ## above string.
1001 compiler.misc.type.req.class=\
1002 class
1003 compiler.misc.type.req.class.array=\
1004 class or array
1005 compiler.misc.type.req.ref=\
1006 reference
1007 compiler.misc.type.req.exact=\
1008 class or interface without bounds
1009 compiler.misc.type.parameter=\
1010 type parameter {0}
1012 #####
1014 ## The following are all possible strings for the last argument of all those
1015 ## diagnostics whose key ends in ".1"
1016 compiler.misc.undetermined.type=\
1017 undetermined type
1018 ncompiler.misc.type.variable.has.undetermined.type=\
1019 type variable {0} has undetermined type
1020 compiler.misc.no.unique.maximal.instance.exists=\
1021 no unique maximal instance exists for type variable {0} with upper bounds {1}
1022 compiler.misc.no.unique.minimal.instance.exists=\
1023 no unique minimal instance exists for type variable {0} with lower bounds {1}
1024 compiler.misc.no.conforming.instance.exists=\
1025 no instance(s) of type variable(s) {0} exist so that {1} conforms to {2}
1026 compiler.misc.no.conforming.assignment.exists=\
1027 no instance(s) of type variable(s) {0} exist so that argument type {1} conforms to formal parameter type {2}
1028 compiler.misc.arg.length.mismatch=\
1029 cannot instantiate from arguments because actual and formal argument lists differ in length
1030 compiler.misc.inferred.do.not.conform.to.bounds=\
1031 inferred type does not conform to declared bound(s)\n\
1032 inferred: {0}\n\
1033 bound(s): {1}
1034 compiler.misc.inferred.do.not.conform.to.params=\
1035 actual arguments do not conform to inferred formal arguments\n\
1036 required: {0}\n\
1037 found: {1}
1038 compiler.misc.diamond=\
1039 {0}<>
1040 compiler.misc.diamond.invalid.arg=\
1041 type argument {0} inferred for {1} is not allowed in this context
1042 compiler.misc.diamond.invalid.args=\
1043 type arguments {0} inferred for {1} are not allowed in this context
1044 #####
1046 ## The first argument ({0}) is a "kindname".
1047 compiler.err.abstract.cant.be.accessed.directly=\
1048 abstract {0} {1} in {2} cannot be accessed directly
1050 ## The first argument ({0}) is a "kindname".
1051 compiler.err.non-static.cant.be.ref=\
1052 non-static {0} {1} cannot be referenced from a static context
1054 ## Both arguments ({0}, {1}) are "kindname"s. {0} is a comma-separated list
1055 ## of kindnames (the list should be identical to that provided in source.
1056 compiler.err.unexpected.type=\
1057 unexpected type\n\
1058 required: {0}\n\
1059 found: {1}
1061 ## The first argument {0} is a "kindname" (e.g. 'constructor', 'field', etc.)
1062 ## The second argument {1} is the non-resolved symbol
1063 ## The third argument {2} is a list of type parameters (non-empty if {1} is a method)
1064 ## The fourth argument {3} is a list of argument types (non-empty if {1} is a method)
1065 compiler.err.cant.resolve=\
1066 cannot find symbol\n\
1067 symbol: {0} {1}
1069 compiler.err.cant.resolve.args=\
1070 cannot find symbol\n\
1071 symbol: {0} {1}({3})
1073 compiler.err.cant.resolve.args.params=\
1074 cannot find symbol\n\
1075 symbol: {0} <{2}>{1}({3})
1077 ## arguments from {0} to {3} have the same meaning as above
1078 ## The fifth argument {4} is the location "kindname" (e.g. 'constructor', 'field', etc.)
1079 ## The sixth argument {5} is the location type
1080 compiler.err.cant.resolve.location=\
1081 cannot find symbol\n\
1082 symbol: {0} {1}\n\
1083 location: {4} {5}
1085 compiler.err.cant.resolve.location.args=\
1086 cannot find symbol\n\
1087 symbol: {0} {1}({3})\n\
1088 location: {4} {5}
1090 compiler.err.cant.resolve.location.args.params=\
1091 cannot find symbol\n\
1092 symbol: {0} <{2}>{1}({3})\n\
1093 location: {4} {5}
1095 ## The following are all possible string for "kindname".
1096 ## They should be called whatever the JLS calls them after it been translated
1097 ## to the appropriate language.
1098 # compiler.misc.kindname.constructor=\
1099 # static member
1100 compiler.misc.kindname.annotation=\
1101 @interface
1102 compiler.misc.kindname.constructor=\
1103 constructor
1104 compiler.misc.kindname.interface=\
1105 interface
1106 compiler.misc.kindname.static=\
1107 static
1108 compiler.misc.kindname.type.variable=\
1109 type variable
1110 compiler.misc.kindname.type.variable.bound=\
1111 bound of type variable
1112 compiler.misc.kindname.variable=\
1113 variable
1114 compiler.misc.kindname.value=\
1115 value
1116 compiler.misc.kindname.method=\
1117 method
1118 compiler.misc.kindname.class=\
1119 class
1120 compiler.misc.kindname.package=\
1121 package
1122 #####
1124 compiler.misc.no.args=\
1125 no arguments
1127 compiler.err.override.static=\
1128 {0}\n\
1129 overriding method is static
1130 compiler.err.override.meth=\
1131 {0}\n\
1132 overridden method is {1}
1134 compiler.err.override.meth.doesnt.throw=\
1135 {0}\n\
1136 overridden method does not throw {1}
1138 # In the following string {1} is a space separated list of Java Keywords, as
1139 # they would have been declared in the source code
1140 compiler.err.override.weaker.access=\
1141 {0}\n\
1142 attempting to assign weaker access privileges; was {1}
1144 compiler.err.override.incompatible.ret=\
1145 {0}\n\
1146 return type {1} is not compatible with {2}
1148 compiler.warn.override.unchecked.ret=\
1149 [unchecked] {0}\n\
1150 return type requires unchecked conversion from {1} to {2}
1152 compiler.warn.override.unchecked.thrown=\
1153 [unchecked] {0}\n\
1154 overridden method does not throw {1}
1156 ## The following are all possible strings for the first argument ({0}) of the
1157 ## above strings.
1158 compiler.misc.cant.override=\
1159 {0} in {1} cannot override {2} in {3}
1160 compiler.misc.cant.implement=\
1161 {0} in {1} cannot implement {2} in {3}
1162 compiler.misc.clashes.with=\
1163 {0} in {1} clashes with {2} in {3}
1164 compiler.misc.unchecked.override=\
1165 {0} in {1} overrides {2} in {3}
1166 compiler.misc.unchecked.implement=\
1167 {0} in {1} implements {2} in {3}
1168 compiler.misc.unchecked.clash.with=\
1169 {0} in {1} overrides {2} in {3}
1170 compiler.misc.varargs.override=\
1171 {0} in {1} overrides {2} in {3}
1172 compiler.misc.varargs.implement=\
1173 {0} in {1} implements {2} in {3}
1174 compiler.misc.varargs.clash.with=\
1175 {0} in {1} overrides {2} in {3}
1176 compiler.misc.non.denotable.type=\
1177 Non-denotable type {0} not allowed here
1179 ########################################
1180 # Diagnostics for language feature changes
1181 ########################################
1182 compiler.err.unsupported.fp.lit=\
1183 hexadecimal floating point literals are not supported in -source {0}\n\
1184 (use -source 5 or higher to enable hexadecimal floating point literals)
1186 compiler.err.unsupported.binary.lit=\
1187 binary literals are not supported in -source {0}\n\
1188 (use -source 7 or higher to enable binary literals)
1190 compiler.err.unsupported.underscore.lit=\
1191 underscores in literals are not supported in -source {0}\n\
1192 (use -source 7 or higher to enable underscores in literals)
1194 compiler.warn.enum.as.identifier=\
1195 as of release 5, ''enum'' is a keyword, and may not be used as an identifier\n\
1196 (use -source 5 or higher to use ''enum'' as a keyword)
1198 compiler.warn.assert.as.identifier=\
1199 as of release 1.4, ''assert'' is a keyword, and may not be used as an identifier\n\
1200 (use -source 1.4 or higher to use ''assert'' as a keyword)
1202 compiler.err.enum.as.identifier=\
1203 as of release 5, ''enum'' is a keyword, and may not be used as an identifier\n\
1204 (use -source 1.4 or lower to use ''enum'' as an identifier)
1206 compiler.err.assert.as.identifier=\
1207 as of release 1.4, ''assert'' is a keyword, and may not be used as an identifier\n\
1208 (use -source 1.3 or lower to use ''assert'' as an identifier)
1210 compiler.err.generics.not.supported.in.source=\
1211 generics are not supported in -source {0}\n\
1212 (use -source 5 or higher to enable generics)
1214 compiler.err.varargs.not.supported.in.source=\
1215 variable-arity methods are not supported in -source {0}\n\
1216 (use -source 5 or higher to enable variable-arity methods)
1218 compiler.err.annotations.not.supported.in.source=\
1219 annotations are not supported in -source {0}\n\
1220 (use -source 5 or higher to enable annotations)
1222 compiler.err.type.annotations.not.supported.in.source=\
1223 type annotations are not supported in -source {0}\n\
1224 (use -source 7 or higher to enable type annotations)
1226 compiler.err.foreach.not.supported.in.source=\
1227 for-each loops are not supported in -source {0}\n\
1228 (use -source 5 or higher to enable for-each loops)
1230 compiler.err.static.import.not.supported.in.source=\
1231 static import declarations are not supported in -source {0}\n\
1232 (use -source 5 or higher to enable static import declarations)
1234 compiler.err.enums.not.supported.in.source=\
1235 enums are not supported in -source {0}\n\
1236 (use -source 5 or higher to enable enums)
1238 compiler.err.string.switch.not.supported.in.source=\
1239 strings in switch are not supported in -source {0}\n\
1240 (use -source 7 or higher to enable strings in switch)
1242 ########################################
1243 # Diagnostics for where clause implementation
1244 # used by the RichDiagnosticFormatter.
1245 ########################################
1247 compiler.misc.type.null=\
1248 <null>
1250 # X#n (where n is an int id) is disambiguated tvar name
1251 compiler.misc.type.var=\
1252 {0}#{1}
1254 # CAP#n (where n is an int id) is an abbreviation for 'captured type'
1255 compiler.misc.captured.type=\
1256 CAP#{0}
1258 # <INT#n> (where n is an int id) is an abbreviation for 'intersection type'
1259 compiler.misc.intersection.type=\
1260 INT#{0}
1262 # where clause for captured type: contains upper ('extends {1}') and lower
1263 # ('super {2}') bound along with the wildcard that generated this captured type ({3})
1264 compiler.misc.where.captured=\
1265 {0} extends {1} super: {2} from capture of {3}
1267 # compact where clause for captured type: contains upper ('extends {1}') along
1268 # with the wildcard that generated this captured type ({3})
1269 compiler.misc.where.captured.1=\
1270 {0} extends {1} from capture of {3}
1272 # where clause for type variable: contains upper bound(s) ('extends {1}') along with
1273 # the kindname ({2}) and location ({3}) in which the typevar has been declared
1274 compiler.misc.where.typevar=\
1275 {0} extends {1} declared in {2} {3}
1277 # compact where clause for type variable: contains the kindname ({2}) and location ({3})
1278 # in which the typevar has been declared
1279 compiler.misc.where.typevar.1=\
1280 {0} declared in {2} {3}
1282 # where clause for type variable: contains all the upper bound(s) ('extends {1}')
1283 # of this intersection type
1284 compiler.misc.where.intersection=\
1285 {0} extends {1}
1287 ### Where clause headers ###
1288 compiler.misc.where.description.captured=\
1289 where {0} is a fresh type-variable:
1290 compiler.misc.where.description.typevar=\
1291 where {0} is a type-variable:
1292 compiler.misc.where.description.intersection=\
1293 where {0} is an intersection type:
1294 compiler.misc.where.description.captured.1=\
1295 where {0} are fresh type-variables:
1296 compiler.misc.where.description.typevar.1=\
1297 where {0} are type-variables:
1298 compiler.misc.where.description.intersection.1=\
1299 where {0} are intersection types: