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