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