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