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