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