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