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