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