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