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