compiler.properties revision 2776:aa568700edd1
1
2#
3# Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
4# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5#
6# This code is free software; you can redistribute it and/or modify it
7# under the terms of the GNU General Public License version 2 only, as
8# published by the Free Software Foundation.  Oracle designates this
9# particular file as subject to the "Classpath" exception as provided
10# by Oracle in the LICENSE file that accompanied this code.
11#
12# This code is distributed in the hope that it will be useful, but WITHOUT
13# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15# version 2 for more details (a copy is included in the LICENSE file that
16# accompanied this code).
17#
18# You should have received a copy of the GNU General Public License version
19# 2 along with this work; if not, write to the Free Software Foundation,
20# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21#
22# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23# or visit www.oracle.com if you need additional information or have any
24# questions.
25#
26
27# Messages in this file which use "placeholders" for values (e.g. {0}, {1})
28# are preceded by a stylized comment describing the type of the corresponding
29# values.
30# The simple types currently in use are:
31#
32# boolean           true or false
33# diagnostic        a sub-message; see compiler.misc.*
34# fragment          similar to 'message segment', but with more specific type
35# modifier          a Java modifier; e.g. public, private, protected
36# file              a file URL
37# file object       a file URL - similar to 'file' but typically used for source/class files, hence more specific
38# name              a name, typically a Java identifier
39# number            an integer
40# option name       the name of a command line option
41# source version    a source version number, such as 1.5, 1.6, 1.7
42# string            a general string
43# symbol            the name of a declared type
44# symbol kind       the kind of a symbol (i.e. method, variable)
45# kind name         an informative description of the kind of a declaration; see compiler.misc.kindname.*
46# token             the name of a non-terminal in source code; see compiler.misc.token.*
47# type              a Java type; e.g. int, X, X<T>
48# object            a Java object (unspecified)
49# unused            the value is not used in this message
50#
51# The following compound types are also used:
52#
53# list of X         a comma-separated list of items; e.g. list of type
54# set of X          a comma-separated collection of items; e.g. set of modifier
55#
56# These may be composed:
57#
58# list of type or message segment
59#
60# The following type aliases are supported:
61#
62# message segment --> diagnostic or fragment
63# file name --> file or file object
64#
65# Custom comments are supported in parenthesis i.e.
66#
67# number (classfile major version)
68#
69# These comments are used internally in order to generate an enum-like class declaration containing
70# a method/field for each of the diagnostic keys listed here. Those methods/fields can then be used
71# by javac code to build diagnostics in a type-safe fashion.
72#
73# In addition, these comments are verified by the jtreg test test/tools/javac/diags/MessageInfo,
74# using info derived from the collected set of examples in test/tools/javac/diags/examples.
75# MessageInfo can also be run as a standalone utility providing more facilities
76# for manipulating this file. For more details, see MessageInfo.java.
77
78##
79## errors
80##
81
82# 0: symbol
83compiler.err.abstract.cant.be.instantiated=\
84    {0} is abstract; cannot be instantiated
85
86compiler.err.abstract.meth.cant.have.body=\
87    abstract methods cannot have a body
88
89compiler.err.already.annotated=\
90    {0} {1} has already been annotated
91
92# 0: symbol kind, 1: symbol, 2: symbol kind, 3: symbol
93compiler.err.already.defined=\
94    {0} {1} is already defined in {2} {3}
95
96# 0: symbol kind, 1: symbol, 2: symbol kind, 3: symbol kind, 4: symbol
97compiler.err.already.defined.in.clinit=\
98    {0} {1} is already defined in {2} of {3} {4}
99
100# 0: string
101compiler.err.already.defined.single.import=\
102    a type with the same simple name is already defined by the single-type-import of {0}
103
104# 0: string
105compiler.err.already.defined.static.single.import=\
106    a type with the same simple name is already defined by the static single-type-import of {0}
107
108compiler.err.already.defined.this.unit=\
109    {0} is already defined in this compilation unit
110
111# 0: type, 1: list of name
112compiler.err.annotation.missing.default.value=\
113    annotation @{0} is missing a default value for the element ''{1}''
114
115# 0: type, 1: list of name
116compiler.err.annotation.missing.default.value.1=\
117    annotation @{0} is missing default values for elements {1}
118
119# 0: type
120compiler.err.annotation.not.valid.for.type=\
121    annotation not valid for an element of type {0}
122
123compiler.err.annotation.type.not.applicable=\
124    annotation type not applicable to this kind of declaration
125
126compiler.err.annotation.value.must.be.annotation=\
127    annotation value must be an annotation
128
129compiler.err.annotation.value.must.be.class.literal=\
130    annotation value must be a class literal
131
132compiler.err.annotation.value.must.be.name.value=\
133    annotation values must be of the form ''name=value''
134
135compiler.err.annotation.value.not.allowable.type=\
136    annotation value not of an allowable type
137
138compiler.err.anon.class.impl.intf.no.args=\
139    anonymous class implements interface; cannot have arguments
140
141compiler.err.anon.class.impl.intf.no.typeargs=\
142    anonymous class implements interface; cannot have type arguments
143
144compiler.err.anon.class.impl.intf.no.qual.for.new=\
145    anonymous class implements interface; cannot have qualifier for new
146
147compiler.err.cant.inherit.from.anon=\
148    cannot inherit from anonymous class
149
150# 0: symbol, 1: symbol, 2: symbol
151compiler.err.array.and.varargs=\
152    cannot declare both {0} and {1} in {2}
153
154compiler.err.array.dimension.missing=\
155    array dimension missing
156
157# 0: type
158compiler.err.array.req.but.found=\
159    array required, but {0} found
160
161compiler.err.attribute.value.must.be.constant=\
162    element value must be a constant expression
163
164# 0: string (statement type)
165compiler.err.bad.initializer=\
166    bad initializer for {0}
167
168compiler.err.break.outside.switch.loop=\
169    break outside switch or loop
170
171# 0: name
172compiler.err.call.must.be.first.stmt.in.ctor=\
173    call to {0} must be first statement in constructor
174
175# 0: symbol kind, 1: name, 2: list of type or message segment, 3: list of type or message segment, 4: symbol kind, 5: type, 6: message segment
176compiler.err.cant.apply.symbol=\
177    {0} {1} in {4} {5} cannot be applied to given types;\n\
178    required: {2}\n\
179    found: {3}\n\
180    reason: {6}
181
182# 0: symbol kind, 1: name, 2: list of type
183compiler.err.cant.apply.symbols=\
184    no suitable {0} found for {1}({2})
185
186# 0: symbol kind, 1: name, 2: list of type or message segment, 3: list of type or message segment, 4: symbol kind, 5: type, 6: message segment
187compiler.misc.cant.apply.symbol=\
188    {0} {1} in {4} {5} cannot be applied to given types\n\
189    required: {2}\n\
190    found: {3}\n\
191    reason: {6}
192
193# 0: symbol kind, 1: name, 2: list of type
194compiler.misc.cant.apply.symbols=\
195    no suitable {0} found for {1}({2})
196
197# 0: symbol kind, 1: symbol
198compiler.misc.no.abstracts=\
199    no abstract method found in {0} {1}
200
201# 0: symbol kind, 1: symbol
202compiler.misc.incompatible.abstracts=\
203    multiple non-overriding abstract methods found in {0} {1}
204
205compiler.err.bad.functional.intf.anno=\
206    Unexpected @FunctionalInterface annotation
207
208# 0: message segment
209compiler.err.bad.functional.intf.anno.1=\
210    Unexpected @FunctionalInterface annotation\n\
211    {0}
212
213# 0: symbol
214compiler.misc.not.a.functional.intf=\
215    {0} is not a functional interface
216
217# 0: symbol, 1: message segment
218compiler.misc.not.a.functional.intf.1=\
219    {0} is not a functional interface\n\
220    {1}
221
222# 0: symbol, 1: symbol kind, 2: symbol
223compiler.misc.invalid.generic.lambda.target=\
224    invalid functional descriptor for lambda expression\n\
225    method {0} in {1} {2} is generic
226
227# 0: symbol kind, 1: symbol
228compiler.misc.incompatible.descs.in.functional.intf=\
229    incompatible function descriptors found in {0} {1}
230
231# 0: name, 1: list of type, 2: type, 3: list of type
232compiler.misc.descriptor=\
233    descriptor: {2} {0}({1})
234
235# 0: name, 1: list of type, 2: type, 3: list of type
236compiler.misc.descriptor.throws=\
237    descriptor: {2} {0}({1}) throws {3}
238
239# 0: type
240compiler.misc.no.suitable.functional.intf.inst=\
241    cannot infer functional interface descriptor for {0}
242
243# 0: message segment
244compiler.misc.bad.intersection.target.for.functional.expr=\
245    bad intersection type target for lambda or method reference\n\
246    {0}
247
248# 0: symbol or type
249compiler.misc.not.an.intf.component=\
250    component type {0} is not an interface
251
252# 0: symbol kind, 1: message segment
253compiler.err.invalid.mref=\
254    invalid {0} reference\n\
255    {1}
256
257# 0: symbol kind, 1: message segment
258compiler.misc.invalid.mref=\
259    invalid {0} reference\n\
260    {1}
261
262compiler.misc.static.mref.with.targs=\
263    parameterized qualifier on static method reference
264
265compiler.misc.static.bound.mref=\
266    static bound method reference
267
268# 0: symbol
269compiler.err.cant.assign.val.to.final.var=\
270    cannot assign a value to final variable {0}
271
272# 0: symbol, 1: message segment
273compiler.err.cant.ref.non.effectively.final.var=\
274    local variables referenced from {1} must be final or effectively final
275
276compiler.err.try.with.resources.expr.needs.var=\
277    the try-with-resources resource must either be a variable declaration or an expression denoting \
278a reference to a final or effectively final variable
279
280# 0: symbol
281compiler.err.try.with.resources.expr.effectively.final.var=\
282    variable {0} used as a try-with-resources resource neither final nor effectively final
283
284
285compiler.misc.lambda=\
286    a lambda expression
287
288compiler.misc.inner.cls=\
289    an inner class
290
291# 0: type
292compiler.err.cant.deref=\
293    {0} cannot be dereferenced
294
295compiler.err.cant.extend.intf.annotation=\
296    ''extends'' not allowed for @interfaces
297
298# 0: symbol
299compiler.err.cant.inherit.from.final=\
300    cannot inherit from final {0}
301
302# 0: symbol
303compiler.err.cant.ref.before.ctor.called=\
304    cannot reference {0} before supertype constructor has been called
305
306compiler.err.cant.select.static.class.from.param.type=\
307    cannot select a static class from a parameterized type
308
309# 0: symbol, 1: string, 2: string
310compiler.err.cant.inherit.diff.arg=\
311    {0} cannot be inherited with different arguments: <{1}> and <{2}>
312
313compiler.err.catch.without.try=\
314    ''catch'' without ''try''
315
316# 0: symbol kind, 1: symbol
317compiler.err.clash.with.pkg.of.same.name=\
318    {0} {1} clashes with package of same name
319
320compiler.err.class.not.allowed=\
321    class, interface or enum declaration not allowed here
322
323compiler.err.const.expr.req=\
324    constant expression required
325
326compiler.err.cont.outside.loop=\
327    continue outside of loop
328
329# 0: symbol
330compiler.err.cyclic.inheritance=\
331    cyclic inheritance involving {0}
332
333# 0: symbol
334compiler.err.cyclic.annotation.element=\
335    type of element {0} is cyclic
336
337# 0: unused
338compiler.err.call.to.super.not.allowed.in.enum.ctor=\
339    call to super not allowed in enum constructor
340
341# 0: type
342compiler.err.no.superclass=\
343    {0} has no superclass.
344
345# 0: symbol, 1: type, 2: symbol, 3: type, 4: unused
346compiler.err.concrete.inheritance.conflict=\
347    methods {0} from {1} and {2} from {3} are inherited with the same signature
348
349compiler.err.default.allowed.in.intf.annotation.member=\
350    default value only allowed in an annotation type declaration
351
352# 0: symbol
353compiler.err.doesnt.exist=\
354    package {0} does not exist
355
356# 0: type
357compiler.err.duplicate.annotation.invalid.repeated=\
358    annotation {0} is not a valid repeatable annotation
359
360# 0: name, 1: type
361compiler.err.duplicate.annotation.member.value=\
362    duplicate element ''{0}'' in annotation @{1}.
363
364# 0: name, 1: unused
365compiler.err.duplicate.annotation.missing.container=\
366    {0} is not a repeatable annotation type
367
368# 0: type, 1: unused
369compiler.err.invalid.repeatable.annotation=\
370    duplicate annotation: {0} is annotated with an invalid @Repeatable annotation
371
372# 0: symbol or type
373compiler.err.invalid.repeatable.annotation.no.value=\
374    {0} is not a valid @Repeatable, no value element method declared
375
376# 0: type, 1: number
377compiler.err.invalid.repeatable.annotation.multiple.values=\
378    {0} is not a valid @Repeatable, {1} element methods named ''value'' declared
379
380# 0: type
381compiler.err.invalid.repeatable.annotation.invalid.value=\
382    {0} is not a valid @Repeatable: invalid value element
383
384# 0: symbol or type, 1: unused, 2: type
385compiler.err.invalid.repeatable.annotation.value.return=\
386    containing annotation type ({0}) must declare an element named ''value'' of type {2}
387
388# 0: symbol or type, 1: symbol
389compiler.err.invalid.repeatable.annotation.elem.nondefault=\
390    containing annotation type ({0}) does not have a default value for element {1}
391
392# 0: symbol, 1: unused, 2: symbol, 3: unused
393compiler.err.invalid.repeatable.annotation.retention=\
394    retention of containing annotation type ({0}) is shorter than the retention of repeatable annotation type ({2})
395
396# 0: symbol, 1: symbol
397compiler.err.invalid.repeatable.annotation.not.documented=\
398    repeatable annotation type ({1}) is @Documented while containing annotation type ({0}) is not
399
400# 0: symbol, 1: symbol
401compiler.err.invalid.repeatable.annotation.not.inherited=\
402    repeatable annotation type ({1}) is @Inherited while containing annotation type ({0}) is not
403
404# 0: symbol, 1: symbol
405compiler.err.invalid.repeatable.annotation.incompatible.target=\
406    containing annotation type ({0}) is applicable to more targets than repeatable annotation type ({1})
407
408# 0: symbol
409compiler.err.invalid.repeatable.annotation.repeated.and.container.present=\
410    container {0} must not be present at the same time as the element it contains
411
412# 0: name
413compiler.err.duplicate.class=\
414    duplicate class: {0}
415
416compiler.err.duplicate.case.label=\
417    duplicate case label
418
419compiler.err.duplicate.default.label=\
420    duplicate default label
421
422compiler.err.else.without.if=\
423    ''else'' without ''if''
424
425compiler.err.empty.char.lit=\
426    empty character literal
427
428# 0: symbol
429compiler.err.encl.class.required=\
430    an enclosing instance that contains {0} is required
431
432compiler.err.enum.annotation.must.be.enum.constant=\
433    an enum annotation value must be an enum constant
434
435compiler.err.enum.cant.be.instantiated=\
436    enum types may not be instantiated
437
438compiler.err.enum.label.must.be.unqualified.enum=\
439    an enum switch case label must be the unqualified name of an enumeration constant
440
441compiler.err.enum.no.subclassing=\
442    classes cannot directly extend java.lang.Enum
443
444compiler.err.enum.types.not.extensible=\
445    enum types are not extensible
446
447compiler.err.enum.no.finalize=\
448    enums cannot have finalize methods
449
450# 0: file name, 1: string
451compiler.err.error.reading.file=\
452    error reading {0}; {1}
453
454# 0: type
455compiler.err.except.already.caught=\
456    exception {0} has already been caught
457
458# 0: type
459compiler.err.except.never.thrown.in.try=\
460    exception {0} is never thrown in body of corresponding try statement
461
462# 0: symbol
463compiler.err.final.parameter.may.not.be.assigned=\
464    final parameter {0} may not be assigned
465
466# 0: symbol
467compiler.err.try.resource.may.not.be.assigned=\
468    auto-closeable resource {0} may not be assigned
469
470# 0: symbol
471compiler.err.multicatch.parameter.may.not.be.assigned=\
472    multi-catch parameter {0} may not be assigned
473
474# 0: type, 1: type
475compiler.err.multicatch.types.must.be.disjoint=\
476    Alternatives in a multi-catch statement cannot be related by subclassing\n\
477    Alternative {0} is a subclass of alternative {1}
478
479compiler.err.finally.without.try=\
480    ''finally'' without ''try''
481
482# 0: type, 1: message segment
483compiler.err.foreach.not.applicable.to.type=\
484    for-each not applicable to expression type\n\
485    required: {1}\n\
486    found:    {0}
487
488compiler.err.fp.number.too.large=\
489    floating point number too large
490
491compiler.err.fp.number.too.small=\
492    floating point number too small
493
494compiler.err.generic.array.creation=\
495    generic array creation
496
497compiler.err.generic.throwable=\
498    a generic class may not extend java.lang.Throwable
499
500# 0: symbol
501compiler.err.icls.cant.have.static.decl=\
502    Illegal static declaration in inner class {0}\n\
503    modifier \''static\'' is only allowed in constant variable declarations
504
505# 0: string
506compiler.err.illegal.char=\
507    illegal character: ''{0}''
508
509compiler.err.illegal.char.for.encoding=\
510    unmappable character for encoding {0}
511
512# 0: set of modifier, 1: set of modifier
513compiler.err.illegal.combination.of.modifiers=\
514    illegal combination of modifiers: {0} and {1}
515
516compiler.err.illegal.enum.static.ref=\
517    illegal reference to static field from initializer
518
519compiler.err.illegal.esc.char=\
520    illegal escape character
521
522compiler.err.illegal.forward.ref=\
523    illegal forward reference
524
525# 0: symbol, 1: string
526compiler.err.not.in.profile=\
527    {0} is not available in profile ''{1}''
528
529# 0: symbol
530compiler.warn.forward.ref=\
531    reference to variable ''{0}'' before it has been initialized
532
533compiler.err.illegal.self.ref=\
534    self-reference in initializer
535
536# 0: symbol
537compiler.warn.self.ref=\
538    self-reference in initializer of variable ''{0}''
539
540compiler.err.illegal.generic.type.for.instof=\
541    illegal generic type for instanceof
542
543# 0: type
544compiler.err.illegal.initializer.for.type=\
545    illegal initializer for {0}
546
547compiler.err.illegal.line.end.in.char.lit=\
548    illegal line end in character literal
549
550compiler.err.illegal.nonascii.digit=\
551    illegal non-ASCII digit
552
553compiler.err.illegal.underscore=\
554    illegal underscore
555
556compiler.err.illegal.dot=\
557    illegal ''.''
558
559# 0: symbol
560compiler.err.illegal.qual.not.icls=\
561    illegal qualifier; {0} is not an inner class
562
563compiler.err.illegal.start.of.expr=\
564    illegal start of expression
565
566compiler.err.illegal.start.of.stmt=\
567    illegal start of statement
568
569compiler.err.illegal.start.of.type=\
570    illegal start of type
571
572compiler.err.illegal.unicode.esc=\
573    illegal unicode escape
574
575# 0: symbol
576compiler.err.import.requires.canonical=\
577    import requires canonical name for {0}
578
579compiler.err.improperly.formed.type.param.missing=\
580    improperly formed type, some parameters are missing
581
582compiler.err.improperly.formed.type.inner.raw.param=\
583    improperly formed type, type arguments given on a raw type
584
585# 0: type, 1: type
586compiler.err.incomparable.types=\
587    incomparable types: {0} and {1}
588
589# 0: number
590compiler.err.int.number.too.large=\
591    integer number too large: {0}
592
593compiler.err.intf.annotation.members.cant.have.params=\
594    elements in annotation type declarations cannot declare formal parameters
595
596# 0: symbol
597compiler.err.intf.annotation.cant.have.type.params=\
598    annotation type {0} cannot be generic
599
600compiler.err.intf.annotation.members.cant.have.type.params=\
601    elements in annotation type declarations cannot be generic methods
602
603# 0: symbol, 1: type
604compiler.err.intf.annotation.member.clash=\
605    annotation type {1} declares an element with the same name as method {0}
606
607compiler.err.intf.expected.here=\
608    interface expected here
609
610compiler.err.intf.meth.cant.have.body=\
611    interface abstract methods cannot have body
612
613# 0: symbol
614compiler.err.invalid.annotation.member.type=\
615    invalid type for element {0} of annotation type
616
617compiler.err.invalid.binary.number=\
618    binary numbers must contain at least one binary digit
619
620compiler.err.invalid.hex.number=\
621    hexadecimal numbers must contain at least one hexadecimal digit
622
623compiler.err.invalid.meth.decl.ret.type.req=\
624    invalid method declaration; return type required
625
626compiler.err.varargs.and.old.array.syntax=\
627    legacy array notation not allowed on variable-arity parameter
628
629compiler.err.varargs.and.receiver =\
630    varargs notation not allowed on receiver parameter
631
632compiler.err.varargs.must.be.last =\
633    varargs parameter must be the last parameter
634
635compiler.err.array.and.receiver =\
636    legacy array notation not allowed on receiver parameter
637
638compiler.err.variable.not.allowed=\
639    variable declaration not allowed here
640
641# 0: name
642compiler.err.label.already.in.use=\
643    label {0} already in use
644
645# 0: symbol
646compiler.err.local.var.accessed.from.icls.needs.final=\
647    local variable {0} is accessed from within inner class; needs to be declared final
648
649compiler.err.local.enum=\
650    enum types must not be local
651
652compiler.err.cannot.create.array.with.type.arguments=\
653    cannot create array with type arguments
654
655compiler.err.cannot.create.array.with.diamond=\
656    cannot create array with ''<>''
657
658#
659# limits.  We don't give the limits in the diagnostic because we expect
660# them to change, yet we want to use the same diagnostic.  These are all
661# detected during code generation.
662#
663compiler.err.limit.code=\
664    code too large
665
666compiler.err.limit.code.too.large.for.try.stmt=\
667    code too large for try statement
668
669compiler.err.limit.dimensions=\
670    array type has too many dimensions
671
672compiler.err.limit.locals=\
673    too many local variables
674
675compiler.err.limit.parameters=\
676    too many parameters
677
678compiler.err.limit.pool=\
679    too many constants
680
681compiler.err.limit.pool.in.class=\
682    too many constants in class {0}
683
684compiler.err.limit.stack=\
685    code requires too much stack
686
687compiler.err.limit.string=\
688    constant string too long
689
690compiler.err.limit.string.overflow=\
691    UTF8 representation for string \"{0}...\" is too long for the constant pool
692
693compiler.err.malformed.fp.lit=\
694    malformed floating point literal
695
696compiler.err.method.does.not.override.superclass=\
697    method does not override or implement a method from a supertype
698
699compiler.err.missing.meth.body.or.decl.abstract=\
700    missing method body, or declare abstract
701
702compiler.err.missing.ret.stmt=\
703    missing return statement
704
705# 0: unused
706compiler.misc.missing.ret.val=\
707    missing return value
708
709compiler.misc.unexpected.ret.val=\
710    unexpected return value
711
712# 0: set of modifier
713compiler.err.mod.not.allowed.here=\
714    modifier {0} not allowed here
715
716compiler.err.intf.not.allowed.here=\
717    interface not allowed here
718
719compiler.err.enums.must.be.static=\
720    enum declarations allowed only in static contexts
721
722# 0: symbol, 1: symbol
723compiler.err.name.clash.same.erasure=\
724    name clash: {0} and {1} have the same erasure
725
726# 0: symbol, 1: symbol, 2: symbol, 3: symbol, 4: unused, 5: unused
727compiler.err.name.clash.same.erasure.no.override=\
728    name clash: {0} in {1} and {2} in {3} have the same erasure, yet neither overrides the other
729
730# 0: symbol, 1: symbol, 2: symbol, 3: symbol, 4: symbol, 5: symbol
731compiler.err.name.clash.same.erasure.no.override.1=\
732    name clash: {0} in {1} overrides a method whose erasure is the same as another method, yet neither overrides the other\n\
733    first method:  {2} in {3}\n\
734    second method: {4} in {5}
735
736# 0: symbol, 1: symbol, 2: symbol, 3: symbol
737compiler.err.name.clash.same.erasure.no.hide=\
738    name clash: {0} in {1} and {2} in {3} have the same erasure, yet neither hides the other
739
740compiler.err.name.reserved.for.internal.use=\
741    {0} is reserved for internal use
742
743compiler.err.native.meth.cant.have.body=\
744    native methods cannot have a body
745
746# 0: type, 1: type
747compiler.err.neither.conditional.subtype=\
748    incompatible types for ?: neither is a subtype of the other\n\
749    second operand: {0}\n\
750    third operand : {1}
751
752
753# 0: message segment
754compiler.misc.incompatible.type.in.conditional=\
755    bad type in conditional expression\n\
756    {0}
757
758compiler.misc.conditional.target.cant.be.void=\
759    target-type for conditional expression cannot be void
760
761# 0: type
762compiler.misc.incompatible.ret.type.in.lambda=\
763    bad return type in lambda expression\n\
764    {0}
765
766# 0: type
767compiler.misc.incompatible.ret.type.in.mref=\
768    bad return type in method reference\n\
769    {0}
770
771compiler.err.lambda.body.neither.value.nor.void.compatible=\
772    lambda body is neither value nor void compatible
773
774# 0: list of type
775compiler.err.incompatible.thrown.types.in.mref=\
776    incompatible thrown types {0} in method reference
777
778compiler.misc.incompatible.arg.types.in.lambda=\
779    incompatible parameter types in lambda expression
780
781compiler.misc.incompatible.arg.types.in.mref=\
782    incompatible parameter types in method reference
783
784compiler.err.new.not.allowed.in.annotation=\
785    ''new'' not allowed in an annotation
786
787compiler.err.no.annotation.member=\
788    no annotation member {0} in {1}
789
790compiler.err.no.encl.instance.of.type.in.scope=\
791    no enclosing instance of type {0} is in scope
792
793compiler.err.no.intf.expected.here=\
794    no interface expected here
795
796compiler.err.no.match.entry=\
797    {0} has no match in entry in {1}; required {2}
798
799compiler.err.not.annotation.type=\
800    {0} is not an annotation type
801
802# 0: symbol, 1: symbol
803compiler.err.not.def.access.class.intf.cant.access=\
804    {0} in {1} is defined in an inaccessible class or interface
805
806# 0: symbol, 1: symbol
807compiler.misc.not.def.access.class.intf.cant.access=\
808    {0} in {1} is defined in an inaccessible class or interface
809
810# 0: symbol, 1: list of type, 2: type
811compiler.misc.cant.access.inner.cls.constr=\
812    cannot access constructor {0}({1})\n\
813    an enclosing instance of type {2} is not in scope
814
815# 0: symbol, 1: symbol
816compiler.err.not.def.public.cant.access=\
817    {0} is not public in {1}; cannot be accessed from outside package
818
819# 0: symbol, 1: symbol
820compiler.misc.not.def.public.cant.access=\
821    {0} is not public in {1}; cannot be accessed from outside package
822
823# 0: name
824compiler.err.not.loop.label=\
825    not a loop label: {0}
826
827compiler.err.not.stmt=\
828    not a statement
829
830# 0: symbol
831compiler.err.not.encl.class=\
832    not an enclosing class: {0}
833
834# 0: name, 1: type, 2: unused
835compiler.err.operator.cant.be.applied=\
836    bad operand type {1} for unary operator ''{0}''
837
838# 0: name, 1: type, 2: type
839compiler.err.operator.cant.be.applied.1=\
840    bad operand types for binary operator ''{0}''\n\
841    first type:  {1}\n\
842    second type: {2}
843
844compiler.err.pkg.annotations.sb.in.package-info.java=\
845    package annotations should be in file package-info.java
846
847# 0: symbol
848compiler.err.pkg.clashes.with.class.of.same.name=\
849    package {0} clashes with class of same name
850
851compiler.err.warnings.and.werror=\
852    warnings found and -Werror specified
853
854# Errors related to annotation processing
855
856# 0: symbol, 1: string, 2: string (stack-trace)
857compiler.err.proc.cant.access=\
858    cannot access {0}\n\
859    {1}\n\
860    Consult the following stack trace for details.\n\
861    {2}
862
863# 0: symbol, 1: string
864compiler.err.proc.cant.access.1=\
865    cannot access {0}\n\
866    {1}
867
868# 0: string
869compiler.err.proc.cant.find.class=\
870    Could not find class file for ''{0}''.
871
872# Print a client-generated error message; assumed to be localized, no translation required
873# 0: string
874compiler.err.proc.messager=\
875    {0}
876
877# 0: list of string
878compiler.err.proc.no.explicit.annotation.processing.requested=\
879    Class names, ''{0}'', are only accepted if annotation processing is explicitly requested
880
881compiler.err.proc.no.service=\
882    A ServiceLoader was not usable and is required for annotation processing.
883
884compiler.err.proc.processor.bad.option.name=\
885    Bad option name ''{0}'' provided by processor ''{1}''
886
887# 0: string
888compiler.err.proc.processor.cant.instantiate=\
889    Could not instantiate an instance of processor ''{0}''
890
891# 0: string
892compiler.err.proc.processor.not.found=\
893    Annotation processor ''{0}'' not found
894
895# 0: string
896compiler.err.proc.processor.wrong.type=\
897    Annotation processor ''{0}'' does not implement javax.annotation.processing.Processor
898
899compiler.err.proc.service.problem=\
900    Error creating a service loader to load Processors.
901
902compiler.err.proc.bad.config.file=\
903    Bad service configuration file, or exception thrown while constructing Processor object: {0}
904
905compiler.err.proc.cant.create.loader=\
906    Could not create class loader for annotation processors: {0}
907
908# 0: unused
909compiler.err.qualified.new.of.static.class=\
910    qualified new of static class
911
912compiler.err.recursive.ctor.invocation=\
913    recursive constructor invocation
914
915# 0: name, 1: symbol kind, 2: symbol, 3: symbol, 4: symbol kind, 5: symbol, 6: symbol
916compiler.err.ref.ambiguous=\
917    reference to {0} is ambiguous\n\
918    both {1} {2} in {3} and {4} {5} in {6} match
919
920# 0: name, 1: symbol kind, 2: symbol, 3: symbol, 4: symbol kind, 5: symbol, 6: symbol
921compiler.misc.ref.ambiguous=\
922    reference to {0} is ambiguous\n\
923    both {1} {2} in {3} and {4} {5} in {6} match
924
925compiler.err.repeated.annotation.target=\
926    repeated annotation target
927
928compiler.err.repeated.interface=\
929    repeated interface
930
931compiler.err.repeated.modifier=\
932    repeated modifier
933
934# 0: symbol, 1: set of modifier, 2: symbol
935compiler.err.report.access=\
936    {0} has {1} access in {2}
937
938# 0: symbol, 1: set of modifier, 2: symbol
939compiler.misc.report.access=\
940    {0} has {1} access in {2}
941
942compiler.err.ret.outside.meth=\
943    return outside method
944
945compiler.err.signature.doesnt.match.supertype=\
946    signature does not match {0}; incompatible supertype
947
948compiler.err.signature.doesnt.match.intf=\
949    signature does not match {0}; incompatible interfaces
950
951# 0: number, 1: number
952compiler.err.method.invoked.with.incorrect.number.arguments=\
953    method invoked with incorrect number of arguments; expected {0}, found {1}
954
955# 0: symbol, 1: symbol, 2: symbol
956compiler.err.does.not.override.abstract=\
957    {0} is not abstract and does not override abstract method {1} in {2}
958
959compiler.err.source.cant.overwrite.input.file=\
960    error writing source; cannot overwrite input file {0}
961
962compiler.err.stack.sim.error=\
963    Internal error: stack sim error on {0}
964
965compiler.err.static.imp.only.classes.and.interfaces=\
966    static import only from classes and interfaces
967
968compiler.err.string.const.req=\
969    constant string expression required
970
971# 0: symbol, 1: symbol
972compiler.err.synthetic.name.conflict=\
973    the symbol {0} conflicts with a compiler-synthesized symbol in {1}
974
975# 0: symbol, 1: symbol
976compiler.warn.synthetic.name.conflict=\
977    the symbol {0} conflicts with a compiler-synthesized symbol in {1}
978
979compiler.err.throws.not.allowed.in.intf.annotation=\
980    throws clause not allowed in @interface members
981
982compiler.err.try.without.catch.or.finally=\
983    ''try'' without ''catch'' or ''finally''
984
985compiler.err.try.without.catch.finally.or.resource.decls=\
986    ''try'' without ''catch'', ''finally'' or resource declarations
987
988# 0: symbol
989compiler.err.type.doesnt.take.params=\
990    type {0} does not take parameters
991
992compiler.err.type.var.cant.be.deref=\
993    cannot select from a type variable
994
995compiler.err.type.var.may.not.be.followed.by.other.bounds=\
996    a type variable may not be followed by other bounds
997
998compiler.err.type.var.more.than.once=\
999    type variable {0} occurs more than once in result type of {1}; cannot be left uninstantiated
1000
1001compiler.err.type.var.more.than.once.in.result=\
1002    type variable {0} occurs more than once in type of {1}; cannot be left uninstantiated
1003
1004# 0: type, 1: type, 2: string
1005compiler.err.types.incompatible.diff.ret=\
1006    types {0} and {1} are incompatible; both define {2}, but with unrelated return types
1007
1008# 0: kind name, 1: type, 2: name, 3: list of type, 4: symbol, 5: symbol
1009compiler.err.types.incompatible.unrelated.defaults=\
1010    {0} {1} inherits unrelated defaults for {2}({3}) from types {4} and {5}
1011
1012# 0: kind name, 1: type, 2: name, 3: list of type, 4: symbol, 5: symbol
1013compiler.err.types.incompatible.abstract.default=\
1014    {0} {1} inherits abstract and default for {2}({3}) from types {4} and {5}
1015
1016# 0: name, 1: kind name, 2: symbol
1017compiler.err.default.overrides.object.member=\
1018    default method {0} in {1} {2} overrides a member of java.lang.Object
1019
1020# 0: type
1021compiler.err.illegal.static.intf.meth.call=\
1022    illegal static interface method call\n\
1023    the receiver expression should be replaced with the type qualifier ''{0}''
1024
1025# 0: type, 1: message segment
1026compiler.err.illegal.default.super.call=\
1027    bad type qualifier {0} in default super call\n\
1028    {1}
1029
1030# 0: symbol, 1: type
1031compiler.misc.overridden.default=\
1032    method {0} is overridden in {1}
1033
1034# 0: symbol, 1: type or symbol
1035compiler.misc.redundant.supertype=\
1036    redundant interface {0} is extended by {1}
1037
1038compiler.err.unclosed.char.lit=\
1039    unclosed character literal
1040
1041compiler.err.unclosed.comment=\
1042    unclosed comment
1043
1044compiler.err.unclosed.str.lit=\
1045    unclosed string literal
1046
1047# 0: name
1048compiler.err.unsupported.encoding=\
1049    unsupported encoding: {0}
1050
1051compiler.err.io.exception=\
1052    error reading source file: {0}
1053
1054# 0: name
1055compiler.err.undef.label=\
1056    undefined label: {0}
1057
1058# 0: message segment, 1: unused
1059compiler.err.cant.apply.diamond=\
1060    cannot infer type arguments for {0}
1061
1062# 0: message segment or type, 1: message segment
1063compiler.err.cant.apply.diamond.1=\
1064    cannot infer type arguments for {0}\n\
1065    reason: {1}
1066
1067# 0: message segment or type, 1: message segment
1068compiler.misc.cant.apply.diamond.1=\
1069    cannot infer type arguments for {0}\n\
1070    reason: {1}
1071
1072compiler.err.unreachable.stmt=\
1073    unreachable statement
1074
1075compiler.err.initializer.must.be.able.to.complete.normally=\
1076    initializer must be able to complete normally
1077
1078compiler.err.initializer.not.allowed=\
1079    initializers not allowed in interfaces
1080
1081# 0: type
1082compiler.err.unreported.exception.need.to.catch.or.throw=\
1083    unreported exception {0}; must be caught or declared to be thrown
1084
1085# 0: type
1086compiler.err.unreported.exception.default.constructor=\
1087    unreported exception {0} in default constructor
1088
1089# 0: type, 1: name
1090compiler.err.unreported.exception.implicit.close=\
1091    unreported exception {0}; must be caught or declared to be thrown\n\
1092    exception thrown from implicit call to close() on resource variable ''{1}''
1093
1094compiler.err.unsupported.cross.fp.lit=\
1095    hexadecimal floating-point literals are not supported on this VM
1096
1097compiler.err.void.not.allowed.here=\
1098    ''void'' type not allowed here
1099
1100# 0: string
1101compiler.err.wrong.number.type.args=\
1102    wrong number of type arguments; required {0}
1103
1104# 0: symbol
1105compiler.err.var.might.already.be.assigned=\
1106    variable {0} might already have been assigned
1107
1108# 0: symbol
1109compiler.err.var.might.not.have.been.initialized=\
1110    variable {0} might not have been initialized
1111
1112# 0: symbol
1113compiler.err.var.not.initialized.in.default.constructor=\
1114    variable {0} not initialized in the default constructor
1115
1116# 0: symbol
1117compiler.err.var.might.be.assigned.in.loop=\
1118    variable {0} might be assigned in loop
1119
1120# 0: symbol, 1: message segment
1121compiler.err.varargs.invalid.trustme.anno=\
1122    Invalid {0} annotation. {1}
1123
1124# 0: type
1125compiler.misc.varargs.trustme.on.reifiable.varargs=\
1126    Varargs element type {0} is reifiable.
1127
1128# 0: symbol
1129compiler.misc.varargs.trustme.on.non.varargs.meth=\
1130    Method {0} is not a varargs method.
1131
1132# 0: symbol
1133compiler.misc.varargs.trustme.on.virtual.varargs=\
1134    Instance method {0} is neither final nor private.
1135
1136# 0: symbol
1137compiler.misc.varargs.trustme.on.virtual.varargs.final.only=\
1138    Instance method {0} is not final.
1139
1140# 0: type, 1: symbol kind, 2: symbol
1141compiler.misc.inaccessible.varargs.type=\
1142    formal varargs element type {0} is not accessible from {1} {2}
1143
1144# In the following string, {1} will always be the detail message from
1145# java.io.IOException.
1146# 0: symbol, 1: string
1147compiler.err.class.cant.write=\
1148    error while writing {0}: {1}
1149
1150# In the following string, {0} is the name of the class in the Java source.
1151# It really should be used two times..
1152# 0: name
1153compiler.err.class.public.should.be.in.file=\
1154    class {0} is public, should be declared in a file named {0}.java
1155
1156## All errors which do not refer to a particular line in the source code are
1157## preceded by this string.
1158compiler.err.error=\
1159    error:\u0020
1160
1161# The following error messages do not refer to a line in the source code.
1162compiler.err.cant.read.file=\
1163    cannot read: {0}
1164
1165# 0: string
1166compiler.err.plugin.not.found=\
1167    plug-in not found: {0}
1168
1169#####
1170
1171# Fatal Errors
1172
1173compiler.misc.fatal.err.no.java.lang=\
1174    Fatal Error: Unable to find package java.lang in classpath or bootclasspath
1175
1176compiler.misc.fatal.err.cant.locate.meth=\
1177    Fatal Error: Unable to find method {0}
1178
1179compiler.misc.fatal.err.cant.locate.field=\
1180    Fatal Error: Unable to find field {0}
1181
1182compiler.misc.fatal.err.cant.locate.ctor=\
1183    Fatal Error: Unable to find constructor for {0}
1184
1185compiler.misc.fatal.err.cant.close=\
1186    Fatal Error: Cannot close compiler resources
1187
1188#####
1189
1190##
1191## miscellaneous strings
1192##
1193
1194compiler.misc.source.unavailable=\
1195    (source unavailable)
1196
1197compiler.misc.base.membership=\
1198    all your base class are belong to us
1199
1200# 0: string, 1: string, 2: boolean
1201compiler.misc.x.print.processor.info=\
1202    Processor {0} matches {1} and returns {2}.
1203
1204# 0: number, 1: string, 2: set of symbol, 3: boolean
1205compiler.misc.x.print.rounds=\
1206    Round {0}:\n\tinput files: {1}\n\tannotations: {2}\n\tlast round: {3}
1207
1208# 0: file name
1209compiler.warn.file.from.future=\
1210    Modification date is in the future for file {0}
1211
1212#####
1213
1214## The following string will appear before all messages keyed as:
1215## "compiler.note".
1216
1217compiler.note.compressed.diags=\
1218    Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1219
1220# 0: boolean, 1: symbol
1221compiler.note.lambda.stat=\
1222    Translating lambda expression\n\
1223    alternate metafactory = {0}\n\
1224    synthetic method = {1}
1225
1226# 0: boolean, 1: unused
1227compiler.note.mref.stat=\
1228    Translating method reference\n\
1229    alternate metafactory = {0}\n\
1230
1231# 0: boolean, 1: symbol
1232compiler.note.mref.stat.1=\
1233    Translating method reference\n\
1234    alternate metafactory = {0}\n\
1235    bridge method = {1}
1236
1237compiler.note.note=\
1238    Note:\u0020
1239
1240# 0: file name
1241compiler.note.deprecated.filename=\
1242    {0} uses or overrides a deprecated API.
1243
1244compiler.note.deprecated.plural=\
1245    Some input files use or override a deprecated API.
1246
1247# The following string may appear after one of the above deprecation
1248# messages.
1249compiler.note.deprecated.recompile=\
1250    Recompile with -Xlint:deprecation for details.
1251
1252# 0: file name
1253compiler.note.deprecated.filename.additional=\
1254    {0} has additional uses or overrides of a deprecated API.
1255
1256compiler.note.deprecated.plural.additional=\
1257    Some input files additionally use or override a deprecated API.
1258
1259# 0: file name
1260compiler.note.unchecked.filename=\
1261    {0} uses unchecked or unsafe operations.
1262
1263compiler.note.unchecked.plural=\
1264    Some input files use unchecked or unsafe operations.
1265
1266# The following string may appear after one of the above deprecation
1267# messages.
1268compiler.note.unchecked.recompile=\
1269    Recompile with -Xlint:unchecked for details.
1270
1271# 0: file name
1272compiler.note.unchecked.filename.additional=\
1273    {0} has additional unchecked or unsafe operations.
1274
1275compiler.note.unchecked.plural.additional=\
1276    Some input files additionally use unchecked or unsafe operations.
1277
1278# 0: file name
1279compiler.note.sunapi.filename=\
1280    {0} uses internal proprietary API that may be removed in a future release.
1281
1282compiler.note.sunapi.plural=\
1283    Some input files use internal proprietary API that may be removed in a future release.
1284
1285# The following string may appear after one of the above sunapi messages.
1286compiler.note.sunapi.recompile=\
1287    Recompile with -Xlint:sunapi for details.
1288
1289# 0: file name
1290compiler.note.sunapi.filename.additional=\
1291    {0} uses additional internal proprietary API that may be removed in a future release.
1292
1293compiler.note.sunapi.plural.additional=\
1294    Some input files additionally use internal proprietary API that may be removed in a future release.
1295
1296# Notes related to annotation processing
1297
1298# Print a client-generated note; assumed to be localized, no translation required
1299# 0: string
1300compiler.note.proc.messager=\
1301    {0}
1302
1303#####
1304
1305# 0: number
1306compiler.misc.count.error=\
1307    {0} error
1308
1309# 0: number
1310compiler.misc.count.error.plural=\
1311    {0} errors
1312
1313# 0: number
1314compiler.misc.count.warn=\
1315    {0} warning
1316
1317# 0: number
1318compiler.misc.count.warn.plural=\
1319    {0} warnings
1320
1321compiler.misc.version.not.available=\
1322    (version info not available)
1323
1324## extra output when using -verbose (JavaCompiler)
1325
1326# 0: symbol
1327compiler.misc.verbose.checking.attribution=\
1328    [checking {0}]
1329
1330# 0: string
1331compiler.misc.verbose.parsing.done=\
1332    [parsing completed {0}ms]
1333
1334# 0: file name
1335compiler.misc.verbose.parsing.started=\
1336    [parsing started {0}]
1337
1338# 0: string
1339compiler.misc.verbose.total=\
1340    [total {0}ms]
1341
1342# 0: file name
1343compiler.misc.verbose.wrote.file=\
1344    [wrote {0}]
1345
1346## extra output when using -verbose (Retro)
1347compiler.misc.verbose.retro=\
1348    [retrofitting {0}]
1349
1350compiler.misc.verbose.retro.with=\
1351    \tretrofitting {0} with {1}
1352
1353compiler.misc.verbose.retro.with.list=\
1354    \tretrofitting {0} with type parameters {1}, supertype {2}, interfaces {3}
1355
1356## extra output when using -verbose (code/ClassReader)
1357# 0: string
1358compiler.misc.verbose.loading=\
1359    [loading {0}]
1360
1361# 0: string
1362compiler.misc.verbose.sourcepath=\
1363    [search path for source files: {0}]
1364
1365# 0: string
1366compiler.misc.verbose.classpath=\
1367    [search path for class files: {0}]
1368
1369## extra output when using -checkclassfile (code/ClassReader)
1370compiler.misc.ccf.found.later.version=\
1371    class file has later version than expected: {0}
1372
1373compiler.misc.ccf.unrecognized.attribute=\
1374    unrecognized attribute: {0}
1375
1376## extra output when using -prompt (util/Log)
1377compiler.misc.resume.abort=\
1378    R)esume, A)bort>
1379
1380#####
1381
1382##
1383## warnings
1384##
1385
1386## All warning messages are preceded by the following string.
1387compiler.warn.warning=\
1388    warning:\u0020
1389
1390## Warning messages may also include the following prefix to identify a
1391## lint option
1392# 0: option name
1393compiler.warn.lintOption=\
1394    [{0}]\u0020
1395
1396# 0: symbol
1397compiler.warn.constant.SVUID=\
1398    serialVersionUID must be constant in class {0}
1399
1400# 0: file name
1401compiler.warn.dir.path.element.not.found=\
1402    bad path element "{0}": no such directory
1403
1404compiler.warn.finally.cannot.complete=\
1405    finally clause cannot complete normally
1406
1407# 0: symbol, 1: symbol
1408compiler.warn.has.been.deprecated=\
1409    {0} in {1} has been deprecated
1410
1411# 0: symbol
1412compiler.warn.sun.proprietary=\
1413    {0} is internal proprietary API and may be removed in a future release
1414
1415compiler.warn.illegal.char.for.encoding=\
1416    unmappable character for encoding {0}
1417
1418# 0: symbol
1419compiler.warn.improper.SVUID=\
1420    serialVersionUID must be declared static final in class {0}
1421
1422# 0: type, 1: type
1423compiler.warn.inexact.non-varargs.call=\
1424    non-varargs call of varargs method with inexact argument type for last parameter;\n\
1425    cast to {0} for a varargs call\n\
1426    cast to {1} for a non-varargs call and to suppress this warning
1427
1428# 0: list of type
1429compiler.warn.unreachable.catch=\
1430    unreachable catch clause\n\
1431    thrown type {0} has already been caught
1432
1433# 0: list of type
1434compiler.warn.unreachable.catch.1=\
1435    unreachable catch clause\n\
1436    thrown types {0} have already been caught
1437
1438# 0: symbol
1439compiler.warn.long.SVUID=\
1440    serialVersionUID must be of type long in class {0}
1441
1442# 0: symbol
1443compiler.warn.missing.SVUID=\
1444    serializable class {0} has no definition of serialVersionUID
1445
1446# 0: symbol, 1: symbol, 2: symbol, 3: symbol
1447compiler.warn.potentially.ambiguous.overload=\
1448    {0} in {1} is potentially ambiguous with {2} in {3}
1449
1450# 0: message segment
1451compiler.warn.override.varargs.missing=\
1452    {0}; overridden method has no ''...''
1453
1454# 0: message segment
1455compiler.warn.override.varargs.extra=\
1456    {0}; overriding method is missing ''...''
1457
1458compiler.warn.override.bridge=\
1459    {0}; overridden method is a bridge method
1460
1461# 0: symbol
1462compiler.warn.pkg-info.already.seen=\
1463    a package-info.java file has already been seen for package {0}
1464
1465# 0: file name
1466compiler.warn.path.element.not.found=\
1467    bad path element "{0}": no such file or directory
1468
1469compiler.warn.possible.fall-through.into.case=\
1470    possible fall-through into case
1471
1472# 0: type
1473compiler.warn.redundant.cast=\
1474    redundant cast to {0}
1475
1476# 0: number
1477compiler.warn.position.overflow=\
1478    Position encoding overflows at line {0}
1479
1480# 0: file name, 1: number, 2: number
1481compiler.warn.big.major.version=\
1482    {0}: major version {1} is newer than {2}, the highest major version supported by this compiler.\n\
1483    It is recommended that the compiler be upgraded.
1484
1485# 0: symbol kind, 1: symbol
1486compiler.warn.static.not.qualified.by.type=\
1487    static {0} should be qualified by type name, {1}, instead of by an expression
1488
1489# 0: string
1490compiler.warn.source.no.bootclasspath=\
1491    bootstrap class path not set in conjunction with -source {0}
1492
1493# 0: string
1494compiler.warn.option.obsolete.source=\
1495    source value {0} is obsolete and will be removed in a future release
1496
1497# 0: string
1498compiler.warn.option.obsolete.target=\
1499    target value {0} is obsolete and will be removed in a future release
1500
1501# 0: string, 1: string
1502compiler.err.option.removed.source=\
1503    Source option {0} is no longer supported. Use {1} or later.
1504
1505# 0: string, 1: string
1506compiler.err.option.removed.target=\
1507    Target option {0} is no longer supported. Use {1} or later.
1508
1509compiler.warn.option.obsolete.suppression=\
1510    To suppress warnings about obsolete options, use -Xlint:-options.
1511
1512# 0: name, 1: number, 2: number, 3: number, 4: number
1513compiler.warn.future.attr=\
1514    {0} attribute introduced in version {1}.{2} class files is ignored in version {3}.{4} class files
1515
1516# Warnings related to annotation processing
1517# 0: name
1518compiler.warn.proc.package.does.not.exist=\
1519    package {0} does not exist
1520
1521# 0: name
1522compiler.warn.proc.file.reopening=\
1523    Attempt to create a file for ''{0}'' multiple times
1524
1525# 0: name
1526compiler.warn.proc.type.already.exists=\
1527    A file for type ''{0}'' already exists on the sourcepath or classpath
1528
1529# 0: name
1530compiler.warn.proc.type.recreate=\
1531    Attempt to create a file for type ''{0}'' multiple times
1532
1533# 0: string
1534compiler.warn.proc.illegal.file.name=\
1535    Cannot create file for illegal name ''{0}''.
1536
1537# 0: string, 1: string
1538compiler.warn.proc.suspicious.class.name=\
1539    Creating file for a type whose name ends in {1}: ''{0}''
1540
1541# 0: name
1542compiler.warn.proc.file.create.last.round=\
1543    File for type ''{0}'' created in the last round will not be subject to annotation processing.
1544
1545# 0: string, 1: string
1546compiler.warn.proc.malformed.supported.string=\
1547    Malformed string ''{0}'' for a supported annotation type returned by processor ''{1}''
1548
1549# 0: set of string
1550compiler.warn.proc.annotations.without.processors=\
1551    No processor claimed any of these annotations: {0}
1552
1553# 0: source version, 1: string, 2: string
1554compiler.warn.proc.processor.incompatible.source.version=\
1555    Supported source version ''{0}'' from annotation processor ''{1}'' less than -source ''{2}''
1556
1557compiler.warn.proc.proc-only.requested.no.procs=\
1558    Annotation processing without compilation requested but no processors were found.
1559
1560compiler.warn.proc.use.implicit=\
1561    Implicitly compiled files were not subject to annotation processing.\n\
1562    Use -implicit to specify a policy for implicit compilation.
1563
1564compiler.warn.proc.use.proc.or.implicit=\
1565    Implicitly compiled files were not subject to annotation processing.\n\
1566    Use -proc:none to disable annotation processing or -implicit to specify a policy for implicit compilation.
1567
1568# Print a client-generated warning; assumed to be localized, no translation required
1569# 0: string
1570compiler.warn.proc.messager=\
1571    {0}
1572
1573# 0: set of name
1574compiler.warn.proc.unclosed.type.files=\
1575    Unclosed files for the types ''{0}''; these types will not undergo annotation processing
1576
1577# 0: string
1578compiler.warn.proc.unmatched.processor.options=\
1579    The following options were not recognized by any processor: ''{0}''
1580
1581compiler.warn.try.explicit.close.call=\
1582    explicit call to close() on an auto-closeable resource
1583
1584# 0: symbol
1585compiler.warn.try.resource.not.referenced=\
1586    auto-closeable resource {0} is never referenced in body of corresponding try statement
1587
1588# 0: type
1589compiler.warn.try.resource.throws.interrupted.exc=\
1590    auto-closeable resource {0} has a member method close() that could throw InterruptedException
1591
1592compiler.warn.unchecked.assign=\
1593    unchecked assignment: {0} to {1}
1594
1595# 0: symbol, 1: type
1596compiler.warn.unchecked.assign.to.var=\
1597    unchecked assignment to variable {0} as member of raw type {1}
1598
1599# 0: symbol, 1: type
1600compiler.warn.unchecked.call.mbr.of.raw.type=\
1601    unchecked call to {0} as a member of the raw type {1}
1602
1603compiler.warn.unchecked.cast.to.type=\
1604    unchecked cast to type {0}
1605
1606# 0: symbol kind, 1: name, 2: list of type, 3: list of type, 4: symbol kind, 5: symbol
1607compiler.warn.unchecked.meth.invocation.applied=\
1608    unchecked method invocation: {0} {1} in {4} {5} is applied to given types\n\
1609    required: {2}\n\
1610    found: {3}
1611
1612# 0: type
1613compiler.warn.unchecked.generic.array.creation=\
1614    unchecked generic array creation for varargs parameter of type {0}
1615
1616# 0: type
1617compiler.warn.unchecked.varargs.non.reifiable.type=\
1618    Possible heap pollution from parameterized vararg type {0}
1619
1620# 0: symbol
1621compiler.warn.varargs.unsafe.use.varargs.param=\
1622    Varargs method could cause heap pollution from non-reifiable varargs parameter {0}
1623
1624compiler.warn.missing.deprecated.annotation=\
1625    deprecated item is not annotated with @Deprecated
1626
1627compiler.warn.invalid.archive.file=\
1628    Unexpected file on path: {0}
1629
1630compiler.warn.unexpected.archive.file=\
1631    Unexpected extension for archive file: {0}
1632
1633compiler.warn.div.zero=\
1634    division by zero
1635
1636compiler.warn.empty.if=\
1637    empty statement after if
1638
1639compiler.warn.annotation.method.not.found=\
1640    Cannot find annotation method ''{1}()'' in type ''{0}''
1641
1642compiler.warn.annotation.method.not.found.reason=\
1643    Cannot find annotation method ''{1}()'' in type ''{0}'': {2}
1644
1645# 0: symbol, 1: name
1646compiler.warn.unknown.enum.constant=\
1647    unknown enum constant {1}.{2}
1648
1649# 0: symbol, 1: name, 2: message segment
1650compiler.warn.unknown.enum.constant.reason=\
1651    unknown enum constant {1}.{2}\n\
1652    reason: {3}
1653
1654# 0: type, 1: type
1655compiler.warn.raw.class.use=\
1656    found raw type: {0}\n\
1657    missing type arguments for generic class {1}
1658
1659# 0: unused, 1: unused
1660compiler.warn.diamond.redundant.args=\
1661    Redundant type arguments in new expression (use diamond operator instead).
1662
1663# 0: type, 1: list of type
1664compiler.warn.diamond.redundant.args.1=\
1665    Redundant type arguments in new expression (use diamond operator instead).\n\
1666    explicit: {0}\n\
1667    inferred: {1}
1668
1669compiler.warn.potential.lambda.found=\
1670    This anonymous inner class creation can be turned into a lambda expression.
1671
1672compiler.warn.method.redundant.typeargs=\
1673    Redundant type arguments in method call.
1674
1675# 0: symbol, 1: message segment
1676compiler.warn.varargs.redundant.trustme.anno=\
1677    Redundant {0} annotation. {1}
1678
1679# 0: symbol
1680compiler.warn.access.to.sensitive.member.from.serializable.element=\
1681    access to sensitive member {0} from serializable element can be publicly accessible to untrusted code
1682
1683#####
1684
1685## The following are tokens which are non-terminals in the language. They should
1686## be named as JLS3 calls them when translated to the appropriate language.
1687compiler.misc.token.identifier=\
1688    <identifier>
1689
1690compiler.misc.token.character=\
1691    <character>
1692
1693compiler.misc.token.string=\
1694    <string>
1695
1696compiler.misc.token.integer=\
1697    <integer>
1698
1699compiler.misc.token.long-integer=\
1700    <long integer>
1701
1702compiler.misc.token.float=\
1703    <float>
1704
1705compiler.misc.token.double=\
1706    <double>
1707
1708compiler.misc.token.bad-symbol=\
1709    <bad symbol>
1710
1711compiler.misc.token.end-of-input=\
1712    <end of input>
1713
1714## The argument to the following string will always be one of the following:
1715## 1. one of the above non-terminals
1716## 2. a keyword (JLS1.8)
1717## 3. a boolean literal (JLS3.10.3)
1718## 4. the null literal (JLS3.10.7)
1719## 5. a Java separator (JLS3.11)
1720## 6. an operator (JLS3.12)
1721##
1722## This is the only place these tokens will be used.
1723# 0: token
1724compiler.err.expected=\
1725    {0} expected
1726
1727# 0: token, 1: token
1728compiler.err.expected2=\
1729    {0} or {1} expected
1730
1731# 0: token, 1: token, 2: token
1732compiler.err.expected3=\
1733    {0}, {1}, or {2} expected
1734
1735compiler.err.premature.eof=\
1736    reached end of file while parsing
1737
1738## The following are related in form, but do not easily fit the above paradigm.
1739compiler.err.dot.class.expected=\
1740    ''.class'' expected
1741
1742## The argument to this string will always be either 'case' or 'default'.
1743# 0: token
1744compiler.err.orphaned=\
1745    orphaned {0}
1746
1747# 0: name
1748compiler.misc.anonymous.class=\
1749    <anonymous {0}>
1750
1751# 0: name, 1: type
1752compiler.misc.type.captureof=\
1753    capture#{0} of {1}
1754
1755compiler.misc.type.captureof.1=\
1756    capture#{0}
1757
1758compiler.misc.type.none=\
1759    <none>
1760
1761compiler.misc.unnamed.package=\
1762    unnamed package
1763
1764#####
1765
1766# 0: symbol, 1: message segment
1767compiler.err.cant.access=\
1768    cannot access {0}\n\
1769    {1}
1770
1771# 0: name
1772compiler.misc.bad.class.file=\
1773    class file is invalid for class {0}
1774
1775# 0: file name, 1: string (expected constant pool entry type), 2: number (constant pool index)
1776compiler.misc.bad.const.pool.entry=\
1777    bad constant pool entry in {0}\n\
1778    expected {1} at index {2}
1779
1780# 0: file name, 1: message segment
1781compiler.misc.bad.class.file.header=\
1782    bad class file: {0}\n\
1783    {1}\n\
1784    Please remove or make sure it appears in the correct subdirectory of the classpath.
1785
1786# 0: file name, 1: message segment
1787compiler.misc.bad.source.file.header=\
1788    bad source file: {0}\n\
1789    {1}\n\
1790    Please remove or make sure it appears in the correct subdirectory of the sourcepath.
1791
1792## The following are all possible strings for the second argument ({1}) of the
1793## above strings.
1794compiler.misc.bad.class.signature=\
1795    bad class signature: {0}
1796
1797#0: symbol, 1: symbol
1798compiler.misc.bad.enclosing.class=\
1799    bad enclosing class for {0}: {1}
1800
1801# 0: symbol
1802compiler.misc.bad.enclosing.method=\
1803    bad enclosing method attribute for class {0}
1804
1805compiler.misc.bad.runtime.invisible.param.annotations=\
1806    bad RuntimeInvisibleParameterAnnotations attribute: {0}
1807
1808compiler.misc.bad.const.pool.tag=\
1809    bad constant pool tag: {0}
1810
1811compiler.misc.bad.const.pool.tag.at=\
1812    bad constant pool tag: {0} at {1}
1813
1814compiler.misc.bad.signature=\
1815    bad signature: {0}
1816
1817compiler.misc.bad.type.annotation.value=\
1818    bad type annotation target type value: {0}
1819
1820compiler.misc.class.file.wrong.class=\
1821    class file contains wrong class: {0}
1822
1823compiler.misc.class.file.not.found=\
1824    class file for {0} not found
1825
1826# 0: string (classfile major version), 1: string (classfile minor version)
1827compiler.misc.invalid.default.interface=\
1828    default method found in version {0}.{1} classfile
1829
1830# 0: string (classfile major version), 1: string (classfile minor version)
1831compiler.misc.invalid.static.interface=\
1832    static method found in version {0}.{1} classfile
1833
1834# 0: name
1835compiler.misc.file.doesnt.contain.class=\
1836    file does not contain class {0}
1837
1838compiler.misc.file.does.not.contain.package=\
1839    file does not contain package {0}
1840
1841compiler.misc.illegal.start.of.class.file=\
1842    illegal start of class file
1843
1844compiler.misc.unable.to.access.file=\
1845    unable to access file: {0}
1846
1847compiler.misc.unicode.str.not.supported=\
1848    unicode string in class file not supported
1849
1850compiler.misc.undecl.type.var=\
1851    undeclared type variable: {0}
1852
1853compiler.misc.wrong.version=\
1854    class file has wrong version {0}.{1}, should be {2}.{3}
1855
1856#####
1857
1858# 0: type, 1: type or symbol
1859compiler.err.not.within.bounds=\
1860    type argument {0} is not within bounds of type-variable {1}
1861
1862## The following are all possible strings for the second argument ({1}) of the
1863## above string.
1864
1865## none yet...
1866
1867#####
1868
1869# 0: message segment
1870compiler.err.prob.found.req=\
1871    incompatible types: {0}
1872
1873# 0: message segment
1874compiler.misc.prob.found.req=\
1875    incompatible types: {0}
1876
1877# 0: message segment, 1: type, 2: type
1878compiler.warn.prob.found.req=\
1879    {0}\n\
1880    required: {2}\n\
1881    found:    {1}
1882
1883# 0: type, 1: type
1884compiler.misc.inconvertible.types=\
1885    {0} cannot be converted to {1}
1886
1887# 0: type, 1: type
1888compiler.misc.possible.loss.of.precision=\
1889    possible lossy conversion from {0} to {1}
1890
1891compiler.misc.unchecked.assign=\
1892    unchecked conversion
1893
1894# compiler.misc.storecheck=\
1895#     assignment might cause later store checks to fail
1896# compiler.misc.unchecked=\
1897#     assigned array cannot dynamically check its stores
1898compiler.misc.unchecked.cast.to.type=\
1899    unchecked cast
1900
1901# compiler.err.star.expected=\
1902#     ''*'' expected
1903# compiler.err.no.elem.type=\
1904#     \[\*\] cannot have a type
1905
1906# 0: type
1907compiler.misc.try.not.applicable.to.type=\
1908    try-with-resources not applicable to variable type\n\
1909    ({0})
1910
1911#####
1912
1913# 0: message segment or type, 1: message segment
1914compiler.err.type.found.req=\
1915    unexpected type\n\
1916    required: {1}\n\
1917    found:    {0}
1918
1919## The following are all possible strings for the first argument ({0}) of the
1920## above string.
1921compiler.misc.type.req.class=\
1922    class
1923
1924compiler.misc.type.req.class.array=\
1925    class or array
1926
1927compiler.misc.type.req.array.or.iterable=\
1928    array or java.lang.Iterable
1929
1930compiler.misc.type.req.ref=\
1931    reference
1932
1933compiler.misc.type.req.exact=\
1934    class or interface without bounds
1935
1936# 0: type
1937compiler.misc.type.parameter=\
1938    type parameter {0}
1939
1940#####
1941
1942## The following are all possible strings for the last argument of all those
1943## diagnostics whose key ends in ".1"
1944
1945# 0: type, 1: list of type
1946compiler.misc.no.unique.maximal.instance.exists=\
1947    no unique maximal instance exists for type variable {0} with upper bounds {1}
1948
1949compiler.misc.no.unique.minimal.instance.exists=\
1950    no unique minimal instance exists for type variable {0} with lower bounds {1}
1951
1952# 0: type, 1: list of type
1953compiler.misc.incompatible.upper.bounds=\
1954    inference variable {0} has incompatible upper bounds {1}
1955
1956# 0: type, 1: list of type, 2: list of type
1957compiler.misc.incompatible.eq.upper.bounds=\
1958    inference variable {0} has incompatible bounds\n\
1959    equality constraints: {1}\n\
1960    upper bounds: {2}
1961
1962# 0: type, 1: list of type, 2: list of type
1963compiler.misc.incompatible.eq.lower.bounds=\
1964    inference variable {0} has incompatible bounds\n\
1965    equality constraints: {1}\n\
1966    lower bounds: {2}
1967
1968# 0: list of type, 1: type, 2: type
1969compiler.misc.infer.no.conforming.instance.exists=\
1970    no instance(s) of type variable(s) {0} exist so that {1} conforms to {2}
1971
1972# 0: list of type, 1: message segment
1973compiler.misc.infer.no.conforming.assignment.exists=\
1974    cannot infer type-variable(s) {0}\n\
1975    (argument mismatch; {1})
1976
1977# 0: list of type
1978compiler.misc.infer.arg.length.mismatch=\
1979    cannot infer type-variable(s) {0}\n\
1980    (actual and formal argument lists differ in length)
1981
1982# 0: list of type, 1: message segment
1983compiler.misc.infer.varargs.argument.mismatch=\
1984    cannot infer type-variable(s) {0}\n\
1985    (varargs mismatch; {1})
1986
1987# 0: type, 1: list of type
1988compiler.misc.inferred.do.not.conform.to.upper.bounds=\
1989    inferred type does not conform to upper bound(s)\n\
1990    inferred: {0}\n\
1991    upper bound(s): {1}
1992
1993# 0: type, 1: list of type
1994compiler.misc.inferred.do.not.conform.to.lower.bounds=\
1995    inferred type does not conform to lower bound(s)\n\
1996    inferred: {0}\n\
1997    lower bound(s): {1}
1998
1999# 0: type, 1: list of type
2000compiler.misc.inferred.do.not.conform.to.eq.bounds=\
2001    inferred type does not conform to equality constraint(s)\n\
2002    inferred: {0}\n\
2003    equality constraints(s): {1}
2004
2005# 0: symbol
2006compiler.misc.diamond=\
2007    {0}<>
2008
2009# 0: type
2010compiler.misc.diamond.non.generic=\
2011    cannot use ''<>'' with non-generic class {0}
2012
2013# 0: unused
2014compiler.misc.diamond.and.explicit.params=\
2015    cannot use ''<>'' with explicit type parameters for constructor
2016
2017# 0: unused
2018compiler.misc.mref.infer.and.explicit.params=\
2019    cannot use raw constructor reference with explicit type parameters for constructor
2020
2021# 0: type, 1: list of type
2022compiler.misc.explicit.param.do.not.conform.to.bounds=\
2023    explicit type argument {0} does not conform to declared bound(s) {1}
2024
2025compiler.misc.arg.length.mismatch=\
2026    actual and formal argument lists differ in length
2027
2028# 0: message segment
2029compiler.misc.no.conforming.assignment.exists=\
2030    argument mismatch; {0}
2031
2032# 0: message segment
2033compiler.misc.varargs.argument.mismatch=\
2034    varargs mismatch; {0}
2035
2036#####
2037
2038# 0: symbol or type, 1: file name
2039compiler.warn.auxiliary.class.accessed.from.outside.of.its.source.file=\
2040    auxiliary class {0} in {1} should not be accessed from outside its own source file
2041
2042## The first argument ({0}) is a "kindname".
2043# 0: symbol kind, 1: symbol, 2: symbol
2044compiler.err.abstract.cant.be.accessed.directly=\
2045    abstract {0} {1} in {2} cannot be accessed directly
2046
2047## The first argument ({0}) is a "kindname".
2048# 0: symbol kind, 1: symbol
2049compiler.err.non-static.cant.be.ref=\
2050    non-static {0} {1} cannot be referenced from a static context
2051
2052# 0: symbol kind, 1: symbol
2053compiler.misc.non-static.cant.be.ref=\
2054    non-static {0} {1} cannot be referenced from a static context
2055
2056# 0: symbol kind, 1: symbol
2057compiler.misc.static.method.in.unbound.lookup=\
2058    static {0} {1} found in unbound lookup
2059
2060## Both arguments ({0}, {1}) are "kindname"s.  {0} is a comma-separated list
2061## of kindnames (the list should be identical to that provided in source.
2062compiler.err.unexpected.type=\
2063    unexpected type\n\
2064    required: {0}\n\
2065    found:    {1}
2066
2067compiler.err.unexpected.lambda=\
2068   lambda expression not expected here
2069
2070compiler.err.unexpected.mref=\
2071   method reference not expected here
2072
2073## The first argument {0} is a "kindname" (e.g. 'constructor', 'field', etc.)
2074## The second argument {1} is the non-resolved symbol
2075## The third argument {2} is a list of type parameters (non-empty if {1} is a method)
2076## The fourth argument {3} is a list of argument types (non-empty if {1} is a method)
2077# 0: symbol kind, 1: name, 2: unused, 3: unused
2078compiler.err.cant.resolve=\
2079    cannot find symbol\n\
2080    symbol: {0} {1}
2081
2082# 0: symbol kind, 1: name, 2: unused, 3: list of type
2083compiler.err.cant.resolve.args=\
2084    cannot find symbol\n\
2085    symbol: {0} {1}({3})
2086
2087# 0: symbol kind, 1: name, 2: list of type, 3: list of type
2088compiler.err.cant.resolve.args.params=\
2089    cannot find symbol\n\
2090    symbol: {0} <{2}>{1}({3})
2091
2092## arguments from {0} to {3} have the same meaning as above
2093## The fifth argument {4} is a location subdiagnostic (see below)
2094# 0: symbol kind, 1: name, 2: unused, 3: unused, 4: message segment
2095compiler.err.cant.resolve.location=\
2096    cannot find symbol\n\
2097    symbol:   {0} {1}\n\
2098    location: {4}
2099
2100# 0: symbol kind, 1: name, 2: unused, 3: list of type, 4: message segment
2101compiler.err.cant.resolve.location.args=\
2102    cannot find symbol\n\
2103    symbol:   {0} {1}({3})\n\
2104    location: {4}
2105
2106# 0: symbol kind, 1: name, 2: list of type, 3: list, 4: message segment
2107compiler.err.cant.resolve.location.args.params=\
2108    cannot find symbol\n\
2109    symbol:   {0} <{2}>{1}({3})\n\
2110    location: {4}
2111
2112### Following are replicated/used for method reference diagnostics
2113
2114# 0: symbol kind, 1: name, 2: unused, 3: list of type, 4: message segment
2115compiler.misc.cant.resolve.location.args=\
2116    cannot find symbol\n\
2117    symbol:   {0} {1}({3})\n\
2118    location: {4}
2119
2120# 0: symbol kind, 1: name, 2: list of type, 3: list, 4: message segment
2121compiler.misc.cant.resolve.location.args.params=\
2122    cannot find symbol\n\
2123    symbol:   {0} <{2}>{1}({3})\n\
2124    location: {4}
2125
2126##a location subdiagnostic is composed as follows:
2127## The first argument {0} is the location "kindname" (e.g. 'constructor', 'field', etc.)
2128## The second argument {1} is the location name
2129## The third argument {2} is the location type (only when {1} is a variable name)
2130
2131# 0: symbol kind, 1: type or symbol, 2: unused
2132compiler.misc.location=\
2133    {0} {1}
2134
2135# 0: symbol kind, 1: symbol, 2: type
2136compiler.misc.location.1=\
2137    {0} {1} of type {2}
2138
2139## The following are all possible string for "kindname".
2140## They should be called whatever the JLS calls them after it been translated
2141## to the appropriate language.
2142# compiler.misc.kindname.constructor=\
2143#     static member
2144compiler.misc.kindname.annotation=\
2145    @interface
2146
2147compiler.misc.kindname.constructor=\
2148    constructor
2149
2150compiler.misc.kindname.enum=\
2151    enum
2152
2153compiler.misc.kindname.interface=\
2154    interface
2155
2156compiler.misc.kindname.static=\
2157    static
2158
2159compiler.misc.kindname.type.variable=\
2160    type variable
2161
2162compiler.misc.kindname.type.variable.bound=\
2163    bound of type variable
2164
2165compiler.misc.kindname.variable=\
2166    variable
2167
2168compiler.misc.kindname.value=\
2169    value
2170
2171compiler.misc.kindname.method=\
2172    method
2173
2174compiler.misc.kindname.class=\
2175    class
2176
2177compiler.misc.kindname.package=\
2178    package
2179
2180compiler.misc.kindname.static.init=\
2181    static initializer
2182
2183compiler.misc.kindname.instance.init=\
2184    instance initializer
2185
2186#####
2187
2188compiler.misc.no.args=\
2189    no arguments
2190
2191# 0: message segment
2192compiler.err.override.static=\
2193    {0}\n\
2194    overriding method is static
2195
2196# 0: message segment, 1: set of modifier
2197compiler.err.override.meth=\
2198    {0}\n\
2199    overridden method is {1}
2200
2201# 0: message segment, 1: type
2202compiler.err.override.meth.doesnt.throw=\
2203    {0}\n\
2204    overridden method does not throw {1}
2205
2206# In the following string {1} is a space separated list of Java Keywords, as
2207# they would have been declared in the source code
2208# 0: message segment, 1: set of modifier
2209compiler.err.override.weaker.access=\
2210    {0}\n\
2211    attempting to assign weaker access privileges; was {1}
2212
2213# 0: message segment, 1: type, 2: type
2214compiler.err.override.incompatible.ret=\
2215    {0}\n\
2216    return type {1} is not compatible with {2}
2217
2218# 0: message segment, 1: type, 2: type
2219compiler.warn.override.unchecked.ret=\
2220    {0}\n\
2221    return type requires unchecked conversion from {1} to {2}
2222
2223# 0: message segment, 1: type
2224compiler.warn.override.unchecked.thrown=\
2225    {0}\n\
2226    overridden method does not throw {1}
2227
2228# 0: symbol
2229compiler.warn.override.equals.but.not.hashcode=\
2230    Class {0} overrides equals, but neither it nor any superclass overrides hashCode method
2231
2232## The following are all possible strings for the first argument ({0}) of the
2233## above strings.
2234# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2235compiler.misc.cant.override=\
2236    {0} in {1} cannot override {2} in {3}
2237
2238# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2239compiler.misc.cant.implement=\
2240    {0} in {1} cannot implement {2} in {3}
2241
2242# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2243compiler.misc.clashes.with=\
2244    {0} in {1} clashes with {2} in {3}
2245
2246# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2247compiler.misc.unchecked.override=\
2248    {0} in {1} overrides {2} in {3}
2249
2250# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2251compiler.misc.unchecked.implement=\
2252    {0} in {1} implements {2} in {3}
2253
2254# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2255compiler.misc.unchecked.clash.with=\
2256    {0} in {1} overrides {2} in {3}
2257
2258# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2259compiler.misc.varargs.override=\
2260    {0} in {1} overrides {2} in {3}
2261
2262# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2263compiler.misc.varargs.implement=\
2264    {0} in {1} implements {2} in {3}
2265
2266# 0: symbol, 1: symbol, 2: symbol, 3: symbol
2267compiler.misc.varargs.clash.with=\
2268    {0} in {1} overrides {2} in {3}
2269
2270# 0: unused
2271compiler.misc.diamond.and.anon.class=\
2272    cannot use ''<>'' with anonymous inner classes
2273
2274# 0: symbol kind, 1: symbol, 2: symbol, 3: message segment
2275compiler.misc.inapplicable.method=\
2276    {0} {1}.{2} is not applicable\n\
2277    ({3})
2278
2279########################################
2280# Diagnostics for language feature changes
2281########################################
2282# 0: string
2283compiler.err.unsupported.binary.lit=\
2284    binary literals are not supported in -source {0}\n\
2285    (use -source 7 or higher to enable binary literals)
2286
2287# 0: string
2288compiler.err.unsupported.underscore.lit=\
2289    underscores in literals are not supported in -source {0}\n\
2290    (use -source 7 or higher to enable underscores in literals)
2291
2292# 0: string
2293compiler.err.try.with.resources.not.supported.in.source=\
2294    try-with-resources is not supported in -source {0}\n\
2295    (use -source 7 or higher to enable try-with-resources)
2296
2297# 0: string
2298compiler.err.var.in.try.with.resources.not.supported.in.source=\
2299    variables in try-with-resources not supported in -source {0}\n\
2300    (use -source 9 or higher to enable variables in try-with-resources)
2301
2302compiler.warn.underscore.as.identifier=\
2303    as of release 9, ''_'' is a keyword, and may not be used as an identifier
2304
2305compiler.err.underscore.as.identifier=\
2306    as of release 9, ''_'' is a keyword, and may not be used as an identifier
2307
2308compiler.err.underscore.as.identifier.in.lambda=\
2309    ''_'' used as an identifier\n\
2310    (use of ''_'' as an identifier is forbidden for lambda parameters)
2311
2312compiler.err.enum.as.identifier=\
2313    as of release 5, ''enum'' is a keyword, and may not be used as an identifier
2314
2315compiler.err.assert.as.identifier=\
2316    as of release 1.4, ''assert'' is a keyword, and may not be used as an identifier
2317
2318# TODO 308: make a better error message
2319compiler.err.this.as.identifier=\
2320    as of release 8, ''this'' is allowed as the parameter name for the receiver type only, which has to be the first parameter
2321
2322# 0: symbol
2323compiler.err.receiver.parameter.not.applicable.constructor.toplevel.class=\
2324    receiver parameter not applicable for constructor of top-level class
2325
2326# TODO 308: make a better error message
2327# 0: symbol
2328compiler.err.cant.type.annotate.scoping.1=\
2329    scoping construct cannot be annotated with type-use annotation: {0}
2330
2331# TODO 308: make a better error message
2332# 0: list of symbol
2333compiler.err.cant.type.annotate.scoping=\
2334    scoping construct cannot be annotated with type-use annotations: {0}
2335
2336# 0: type, 1: type
2337compiler.err.incorrect.receiver.name=\
2338    the receiver name does not match the enclosing class type\n\
2339    required: {0}\n\
2340    found: {1}
2341
2342# 0: type, 1: type
2343compiler.err.incorrect.receiver.type=\
2344    the receiver type does not match the enclosing class type\n\
2345    required: {0}\n\
2346    found: {1}
2347
2348# 0: type, 1: type
2349compiler.err.incorrect.constructor.receiver.type=\
2350    the receiver type does not match the enclosing outer class type\n\
2351    required: {0}\n\
2352    found: {1}
2353
2354# 0: type, 1: type
2355compiler.err.incorrect.constructor.receiver.name=\
2356    the receiver name does not match the enclosing outer class type\n\
2357    required: {0}\n\
2358    found: {1}
2359
2360compiler.err.no.annotations.on.dot.class=\
2361    no annotations are allowed in the type of a class literal
2362
2363# 0: string
2364compiler.err.type.annotations.not.supported.in.source=\
2365    type annotations are not supported in -source {0}\n\
2366(use -source 8 or higher to enable type annotations)
2367
2368# 0: string
2369compiler.err.annotations.after.type.params.not.supported.in.source=\
2370    annotations after method type parameters are not supported in -source {0}\n\
2371(use -source 8 or higher to enable annotations after method type parameters)
2372
2373# 0: string
2374compiler.err.repeatable.annotations.not.supported.in.source=\
2375    repeated annotations are not supported in -source {0}\n\
2376(use -source 8 or higher to enable repeated annotations)
2377
2378# 0: string
2379compiler.err.diamond.not.supported.in.source=\
2380    diamond operator is not supported in -source {0}\n\
2381    (use -source 7 or higher to enable diamond operator)
2382
2383# 0: string
2384compiler.err.multicatch.not.supported.in.source=\
2385    multi-catch statement is not supported in -source {0}\n\
2386    (use -source 7 or higher to enable multi-catch statement)
2387
2388# 0: string
2389compiler.err.string.switch.not.supported.in.source=\
2390    strings in switch are not supported in -source {0}\n\
2391    (use -source 7 or higher to enable strings in switch)
2392
2393# 0: string
2394compiler.err.lambda.not.supported.in.source=\
2395    lambda expressions are not supported in -source {0}\n\
2396    (use -source 8 or higher to enable lambda expressions)
2397
2398# 0: string
2399compiler.err.method.references.not.supported.in.source=\
2400    method references are not supported in -source {0}\n\
2401    (use -source 8 or higher to enable method references)
2402
2403# 0: string
2404compiler.err.default.methods.not.supported.in.source=\
2405    default methods are not supported in -source {0}\n\
2406    (use -source 8 or higher to enable default methods)
2407
2408# 0: string
2409compiler.err.intersection.types.in.cast.not.supported.in.source=\
2410    intersection types in cast are not supported in -source {0}\n\
2411    (use -source 8 or higher to enable default methods)
2412
2413# 0: string
2414compiler.err.static.intf.methods.not.supported.in.source=\
2415    static interface methods are not supported in -source {0}\n\
2416    (use -source 8 or higher to enable static interface methods)
2417
2418# 0: string
2419compiler.err.static.intf.method.invoke.not.supported.in.source=\
2420    static interface method invocations are not supported in -source {0}\n\
2421    (use -source 8 or higher to enable static interface method invocations)
2422
2423########################################
2424# Diagnostics for verbose resolution
2425# used by Resolve (debug only)
2426########################################
2427
2428# 0: number, 1: symbol, 2: unused
2429compiler.misc.applicable.method.found=\
2430    #{0} applicable method found: {1}
2431
2432# 0: number, 1: symbol, 2: message segment
2433compiler.misc.applicable.method.found.1=\
2434    #{0} applicable method found: {1}\n\
2435    ({2})
2436
2437# 0: number, 1: symbol, 2: message segment
2438compiler.misc.not.applicable.method.found=\
2439    #{0} not applicable method found: {1}\n\
2440    ({2})
2441
2442# 0: type
2443compiler.misc.partial.inst.sig=\
2444    partially instantiated to: {0}
2445
2446# 0: name, 1: symbol, 2: number, 3: string (method resolution phase), 4: list of type or message segment, 5: list of type or message segment
2447compiler.note.verbose.resolve.multi=\
2448    resolving method {0} in type {1} to candidate {2}\n\
2449    phase: {3}\n\
2450    with actuals: {4}\n\
2451    with type-args: {5}\n\
2452    candidates:
2453
2454# 0: name, 1: symbol, 2: unused, 3: string (method resolution phase), 4: list of type or message segment, 5: list of type or message segment
2455compiler.note.verbose.resolve.multi.1=\
2456    erroneous resolution for method {0} in type {1}\n\
2457    phase: {3}\n\
2458    with actuals: {4}\n\
2459    with type-args: {5}\n\
2460    candidates:
2461
2462# 0: symbol, 1: type, 2: type
2463compiler.note.deferred.method.inst=\
2464    Deferred instantiation of method {0}\n\
2465    instantiated signature: {1}\n\
2466    target-type: {2}
2467
2468########################################
2469# Diagnostics for where clause implementation
2470# used by the RichDiagnosticFormatter.
2471########################################
2472
2473compiler.misc.type.null=\
2474    <null>
2475
2476# X#n (where n is an int id) is disambiguated tvar name
2477# 0: name, 1: number
2478compiler.misc.type.var=\
2479    {0}#{1}
2480
2481# CAP#n (where n is an int id) is an abbreviation for 'captured type'
2482# 0: number
2483compiler.misc.captured.type=\
2484    CAP#{0}
2485
2486# <INT#n> (where n is an int id) is an abbreviation for 'intersection type'
2487# 0: number
2488compiler.misc.intersection.type=\
2489    INT#{0}
2490
2491# where clause for captured type: contains upper ('extends {1}') and lower
2492# ('super {2}') bound along with the wildcard that generated this captured type ({3})
2493# 0: type, 1: type, 2: type, 3: type
2494compiler.misc.where.captured=\
2495    {0} extends {1} super: {2} from capture of {3}
2496
2497# compact where clause for captured type: contains upper ('extends {1}') along
2498# with the wildcard that generated this captured type ({3})
2499# 0: type, 1: type, 2: unused, 3: type
2500compiler.misc.where.captured.1=\
2501    {0} extends {1} from capture of {3}
2502
2503# where clause for type variable: contains upper bound(s) ('extends {1}') along with
2504# the kindname ({2}) and location ({3}) in which the typevar has been declared
2505# 0: type, 1: list of type, 2: symbol kind, 3: symbol
2506compiler.misc.where.typevar=\
2507    {0} extends {1} declared in {2} {3}
2508
2509# compact where clause for type variable: contains the kindname ({2}) and location ({3})
2510# in which the typevar has been declared
2511# 0: type, 1: list of type, 2: symbol kind, 3: symbol
2512compiler.misc.where.typevar.1=\
2513    {0} declared in {2} {3}
2514
2515# where clause for fresh type variable: contains upper bound(s) ('extends {1}').
2516# Since a fresh type-variable is synthetic - there's no location/kindname here.
2517# 0: type, 1: list of type
2518compiler.misc.where.fresh.typevar=\
2519    {0} extends {1}
2520
2521# where clause for type variable: contains all the upper bound(s) ('extends {1}')
2522# of this intersection type
2523# 0: type, 1: list of type
2524compiler.misc.where.intersection=\
2525    {0} extends {1}
2526
2527### Where clause headers ###
2528compiler.misc.where.description.captured=\
2529    where {0} is a fresh type-variable:
2530
2531# 0: set of type
2532compiler.misc.where.description.typevar=\
2533    where {0} is a type-variable:
2534
2535# 0: set of type
2536compiler.misc.where.description.intersection=\
2537    where {0} is an intersection type:
2538
2539# 0: set of type
2540compiler.misc.where.description.captured.1=\
2541    where {0} are fresh type-variables:
2542
2543# 0: set of type
2544compiler.misc.where.description.typevar.1=\
2545    where {0} are type-variables:
2546
2547compiler.misc.where.description.intersection.1=\
2548    where {0} are intersection types:
2549
2550###
2551# errors related to doc comments
2552
2553compiler.err.dc.bad.entity=\
2554    bad HTML entity
2555
2556compiler.err.dc.bad.gt=\
2557    bad use of ''>''
2558
2559compiler.err.dc.bad.inline.tag=\
2560    incorrect use of inline tag
2561
2562compiler.err.dc.identifier.expected=\
2563    identifier expected
2564
2565compiler.err.dc.malformed.html=\
2566    malformed HTML
2567
2568compiler.err.dc.missing.semicolon=\
2569    semicolon missing
2570
2571compiler.err.dc.no.content=\
2572    no content
2573
2574compiler.err.dc.no.tag.name=\
2575    no tag name after '@'
2576
2577compiler.err.dc.gt.expected=\
2578    ''>'' expected
2579
2580compiler.err.dc.ref.bad.parens=\
2581    '')'' missing in reference
2582
2583compiler.err.dc.ref.syntax.error=\
2584    syntax error in reference
2585
2586compiler.err.dc.ref.unexpected.input=\
2587    unexpected text
2588
2589compiler.err.dc.unexpected.content=\
2590    unexpected content
2591
2592compiler.err.dc.unterminated.inline.tag=\
2593    unterminated inline tag
2594
2595compiler.err.dc.unterminated.signature=\
2596    unterminated signature
2597
2598compiler.err.dc.unterminated.string=\
2599    unterminated string
2600
2601
2602