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