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