Commit Graph

1177 Commits

Author SHA1 Message Date
Vicente Romero
245c086648 8332600: javac uses record components source position during compilation
Reviewed-by: jlahoda
2024-07-18 15:54:41 +00:00
Maurizio Cimadamore
9dfcd75ec4 8334121: Anonymous class capturing two enclosing instances fails to compile
Reviewed-by: jlahoda, vromero
2024-07-15 15:28:24 +00:00
Maurizio Cimadamore
4635531950 8335159: Move method reference to lambda desugaring before Lower
8336320: NullPointerException: Cannot invoke Type.getTag because type is null after JDK-8334037

Reviewed-by: jlahoda, vromero
2024-07-15 14:24:27 +00:00
Jan Lahoda
2b0adfc2de 8335817: javac AssertionError addLocalVar checkNull
Reviewed-by: vromero, mcimadamore
2024-07-15 11:26:33 +00:00
Jan Lahoda
559826c292 8332474: Tighten up ToolBox' JavacTask to not silently accept javac crash as a failure
Reviewed-by: vromero
2024-07-12 12:17:21 +00:00
Liam Miller-Cushon
9eb611e7f0 8334055: Unhelpful 'required: reference' diagnostics after JDK-8043226
Reviewed-by: vromero
2024-07-11 19:53:52 +00:00
Jan Lahoda
537d20afbf 8335766: Switch case with pattern matching and guard clause compiles inconsistently
Reviewed-by: abimpoudis
2024-07-10 09:55:56 +00:00
Liam Miller-Cushon
babf6df7d9 8334757: AssertionError: Missing type variable in where clause
Reviewed-by: jlahoda, vromero
2024-07-08 20:09:07 +00:00
Jorn Vernee
cec222e460 8317611: Add a tool like jdeprscan to find usage of restricted methods
Reviewed-by: alanb, ihse, mcimadamore, jlahoda, jwaters
2024-07-08 12:39:33 +00:00
Jan Lahoda
3e3f83f62c 8335385: javac crash on unattributed piece of AST
Reviewed-by: vromero
2024-07-04 08:36:56 +00:00
Chen Liang
0db9bc57de 8335290: Rename ClassFile::transform to ClassFile::transformClass
Reviewed-by: asotona
2024-07-03 05:03:56 +00:00
Evemose
f3b69da55a 8335136: Underscore as parameter name in one-parameter functional types fails to compile
Reviewed-by: jlahoda
2024-06-27 07:45:18 +00:00
Hannes Greule
3796fdfced 8328536: javac - crash on unknown type referenced in yield statement
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: jlahoda
2024-06-26 23:17:32 +00:00
Maurizio Cimadamore
4ce8822b6c 8334037: Local class creation in lambda in pre-construction context crashes javac
8333313: NullPointerException in lambda instantiating an inner local class in prologue
8333766: Stack overflow with anonymous class in super() parameter
8334679: Wrong bug number in regression test for JDK-8334252

Co-authored-by: Archie Cobbs <acobbs@openjdk.org>
Reviewed-by: jlahoda, vromero
2024-06-26 09:12:02 +00:00
Chen Liang
7e55ed3b10 8333748: javap crash - Fatal error: Unmatched bit position 0x2 for location CLASS
Reviewed-by: asotona
2024-06-21 22:38:38 +00:00
Archie Cobbs
7b3a96d570 8334488: Improve error for illegal early access from nested class
Reviewed-by: mcimadamore
2024-06-19 10:45:34 +00:00
Archie Cobbs
e227c7e37d 8334258: Compiler erronousely allows access to instance variable in argument expression of a constructor invocation
Reviewed-by: mcimadamore
2024-06-18 23:23:39 +00:00
Archie Cobbs
d4c1373717 8334043: VerifyError when inner class is accessed in prologue
Reviewed-by: mcimadamore
2024-06-18 08:42:44 +00:00
Archie Cobbs
dae0bda9d0 8334252: Verifier error for lambda declared in early construction context
Reviewed-by: mcimadamore
2024-06-14 14:53:05 +00:00
Joe Darcy
75dc2f8518 8330182: Start of release updates for JDK 24
8330183: Add SourceVersion.RELEASE_24
8330184: Add source 24 and target 24 to javac

Reviewed-by: iris, vromero, asotona, dholmes
2024-06-06 16:01:57 +00:00
Jorn Vernee
02f240415c 8333560: -Xlint:restricted does not work with --release
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: vromero, mcimadamore
2024-06-06 15:18:18 +00:00
Liam Miller-Cushon
7564949a56 8291643: Consider omitting type annotations from type error diagnostics
Reviewed-by: vromero
2024-06-05 19:10:13 +00:00
Jan Lahoda
1f09467230 8327368: javac crash when computing exhaustiveness checks
Reviewed-by: vromero
2024-06-05 05:45:59 +00:00
Liam Miller-Cushon
612b6896d2 8043226: Better diagnostics for non-applicable type annotations
Reviewed-by: vromero
2024-06-04 17:18:53 +00:00
Vicente Romero
e650bdf465 8332507: compilation result depends on compilation order
Reviewed-by: mcimadamore
2024-05-31 17:34:51 +00:00
Christian Stein
681137cad2 8333131: Source launcher should work with service loader SPI
Reviewed-by: jjg
2024-05-31 15:02:55 +00:00
Jan Lahoda
32ee252c45 8333169: javac NullPointerException record.type
Reviewed-by: vromero
2024-05-31 13:14:44 +00:00
Adam Sotona
a7864af08a 8182774: Verify code in javap
Reviewed-by: mcimadamore
2024-05-31 08:48:14 +00:00
Jan Lahoda
2ab8ab5613 8332858: References with escapes have broken positions after they are transformed
Reviewed-by: vromero, jjg
2024-05-31 05:54:39 +00:00
Joe Darcy
79f49983d3 8321314: Reinstate disabling the compiler's default active annotation processing
Reviewed-by: vromero
2024-05-30 19:57:21 +00:00
Jan Lahoda
4acafb809c 8333107: javac fails with an exception when processing broken lambda
Reviewed-by: asotona
2024-05-30 13:53:27 +00:00
Jan Lahoda
9a72068ef0 8332230: jshell throws AssertionError when processing annotations
Reviewed-by: asotona
2024-05-30 06:02:31 +00:00
Jan Lahoda
66d9bfce29 8332725: Binding patterns with inferred type have erroneous node in the AST
Reviewed-by: asotona
2024-05-30 06:01:18 +00:00
Archie Cobbs
87a06b6ce4 8325805: Compiler Implementation for Flexible Constructor Bodies (Second Preview)
Reviewed-by: vromero, jlahoda
2024-05-28 13:15:20 +00:00
Jan Lahoda
08face8c4c 8332890: Module imports don't work inside the same module
Reviewed-by: vromero
2024-05-27 14:19:26 +00:00
Evemose
617edf3f0d 8332497: javac prints an AssertionError when annotation processing runs on program with module imports
Reviewed-by: liach, vromero, jlahoda
2024-05-27 08:54:20 +00:00
Adam Sotona
cfdc64fcb4 8331291: java.lang.classfile.Attributes class performs a lot of static initializations
Reviewed-by: liach, redestad, vromero
2024-05-24 15:58:34 +00:00
Pavel Rappo
c099f14f07 8305457: Implement java.io.IO
Reviewed-by: naoto, smarks, jpai, jlahoda
2024-05-24 13:37:14 +00:00
Christian Stein
f16265d69b 8332226: "Invalid package name:" from source launcher
Reviewed-by: alanb
2024-05-24 12:24:15 +00:00
Jan Lahoda
af056c1676 8332106: VerifyError when using switch pattern in this(...) or super(...)
Reviewed-by: abimpoudis, vromero
2024-05-24 06:27:45 +00:00
Jan Lahoda
4e6d851f3f 8325324: Implement JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)
Reviewed-by: asotona, vromero, mcimadamore
2024-05-23 09:43:29 +00:00
Aggelos Biboudis
c4557a7b0d 8332463: Byte conditional pattern case element dominates short constant case element
Reviewed-by: vromero
2024-05-22 19:48:23 +00:00
Daniel D. Daugherty
b4d1454085 8332740: [BACKOUT] JDK-8331081 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version
Reviewed-by: mikael, prr, jlahoda
2024-05-22 19:06:06 +00:00
Liam Miller-Cushon
2170e99cb4 8331081: 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version
Reviewed-by: jlahoda
2024-05-22 18:02:37 +00:00
Vicente Romero
9bfae8891e 8332297: annotation processor that generates records sometimes fails due to NPE in javac
Reviewed-by: jlahoda
2024-05-21 08:53:26 +00:00
Jonathan Gibbons
0a58cffe88 8298405: Implement JEP 467: Markdown Documentation Comments
8329296: Update Elements for '///' documentation comments

Co-authored-by: Jim Laskey <jlaskey@openjdk.org>
Reviewed-by: prappo, darcy, hannesw
2024-05-17 17:42:46 +00:00
Vicente Romero
39a55e9779 8324809: compiler can crash with SOE while proving if two recursive types are disjoint
Reviewed-by: mcimadamore
2024-05-17 14:16:11 +00:00
Chen Liang
d4c2edf2c9 8331855: Convert jdk.jdeps jdeprscan and jdeps to use the Classfile API
Reviewed-by: asotona
2024-05-17 12:26:22 +00:00
Chen Liang
beeffd4671 8332109: Convert remaining tests using com.sun.tools.classfile to ClassFile API
Reviewed-by: asotona
2024-05-17 12:24:39 +00:00
Nizar Benalla
ae999eae7e 8129418: JShell: better highlighting of errors in imports on demand
Reviewed-by: jlahoda
2024-05-17 06:39:53 +00:00
Jan Lahoda
d04ac14bdb 8332236: javac crashes with module imports and implicitly declared class
Reviewed-by: vromero
2024-05-15 05:43:18 +00:00
Aggelos Biboudis
ea5eb74a65 8326404: Assertion error when trying to compile switch with fallthrough with pattern
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: vromero
2024-05-14 06:41:58 +00:00
Aggelos Biboudis
3e3f7cf4bd 8330387: Crash with a different types patterns (primitive vs generic) in instanceof
Reviewed-by: vromero
2024-05-13 07:33:42 +00:00
Jan Lahoda
f2c4a41304 8328481: Implement JEP 476: Module Import Declarations (Preview)
Co-authored-by: Jim Laskey <jlaskey@openjdk.org>
Reviewed-by: mcimadamore, vromero
2024-05-06 05:49:28 +00:00
Chen Liang
c60474b122 8323707: Adjust Classfile API's type arg model to better represent the embodied type
Reviewed-by: asotona
2024-05-03 11:08:33 +00:00
Jan Lahoda
8771015d7e 8331027: JDK's ct.sym file packs corrupted module-info classes
Reviewed-by: asotona
2024-05-02 14:32:03 +00:00
Christian Stein
4a78906db1 8331537: Test code should not use the "Classpath" exception clause
Reviewed-by: jpai
2024-05-02 11:13:41 +00:00
Jan Lahoda
44dc85001d 8331212: Error recovery for broken switch expressions could be improved
Reviewed-by: asotona
2024-05-01 12:19:11 +00:00
Jonathan Gibbons
a920af233a 8303689: javac -Xlint could/should report on "dangling" doc comments
Reviewed-by: vromero, ihse, prr
2024-04-26 19:47:06 +00:00
Adam Sotona
ffd850f17e 8309881: Qualified name of a type element depends on its origin (source vs class)
Reviewed-by: darcy, jlahoda
2024-04-26 08:26:22 +00:00
Christian Stein
d43654e573 8331030: langtools/tools/javac/tree tests fail with SOE with fastdebug and -Xcomp
Reviewed-by: jjg, vromero
2024-04-25 06:49:45 +00:00
Vicente Romero
0b9350e8b6 8322992: Javac fails with StackOverflowError when compiling deeply nested synchronized blocks
Reviewed-by: jlahoda
2024-04-22 16:31:32 +00:00
Archie Cobbs
064628471b 8317376: Minor improvements to the 'this' escape analyzer
Reviewed-by: vromero
2024-04-17 17:35:17 +00:00
Archie Cobbs
192ec387bc 8329595: spurious variable "might not have been initialized" on static final field
Reviewed-by: vromero
2024-04-17 14:31:40 +00:00
Maurizio Cimadamore
03e84178eb 8329948: Remove string template feature
Reviewed-by: jlahoda
2024-04-17 14:10:28 +00:00
Joe Darcy
a293bdff91 8330197: Make javac/diags/example release agnostic
Reviewed-by: jlahoda
2024-04-15 15:11:53 +00:00
Aggelos Biboudis
8efe569b8d 8328747: WrongMethodTypeException with pattern matching on switch on sealed classes
Reviewed-by: cushon, vromero
2024-04-05 08:05:53 +00:00
Joe Darcy
5860a48c71 8329624: Add visitors for preview language features
Reviewed-by: vromero, jlahoda
2024-04-05 05:04:48 +00:00
Archie Cobbs
d80d478182 8328649: Disallow enclosing instances for local classes in constructor prologues
Reviewed-by: vromero
2024-04-04 21:13:49 +00:00
Aggelos Biboudis
4dfcc6df17 8329115: Crash involving return from inner switch
Reviewed-by: jlahoda
2024-03-27 09:38:25 +00:00
Christian Stein
9bc741d04f 8328339: Static import prevents source launcher from finding class with main method
Reviewed-by: jlahoda
2024-03-22 05:29:20 +00:00
Archie Cobbs
46809b396c 8324736: Invalid end positions for EMPTY_STATEMENT
Reviewed-by: vromero
2024-03-21 22:54:15 +00:00
Aggelos Biboudis
a5a2eca155 8327683: Crash with primitive type pattern and generic expression in instanceof
Reviewed-by: vromero
2024-03-21 08:02:54 +00:00
Jan Lahoda
5b6b514441 8325362: Allow to create a simple in-memory input JavaFileObject
Reviewed-by: jlaskey, darcy
2024-03-19 09:35:25 +00:00
Aggelos Biboudis
fb390d202c 8327839: Crash with unboxing and widening primitive conversion in switch
Reviewed-by: jlahoda
2024-03-18 13:16:29 +00:00
Mandy Chung
044f4ed55d 8326979: (jdeps) improve the error message for FindException caused by InvalidModuleDescriptorException
Reviewed-by: jpai, alanb
2024-03-15 16:48:24 +00:00
Aggelos Biboudis
cff0747d7f 8326204: yield statements doesn't allow cast expressions with more than 1 type arguments
Reviewed-by: jlahoda
2024-03-14 07:01:32 +00:00
Christian Stein
3b18c5dc5d 8323605: Java source launcher should not require --source ... to enable preview
Reviewed-by: mcimadamore, dholmes
2024-03-13 06:44:04 +00:00
Jan Lahoda
93a2e773a5 8326129: Java Record Pattern Match leads to infinite loop
Reviewed-by: vromero
2024-02-23 10:08:56 +00:00
Jan Lahoda
cb809f8e04 8325215: Incorrect not exhaustive switch error
Reviewed-by: vromero
2024-02-23 08:56:14 +00:00
Hannes Wallnöfer
aa792eabab 8164094: javadoc allows to create a @link to a non-existent method
Reviewed-by: prappo, jjg
2024-02-20 19:56:15 +00:00
Aggelos Biboudis
0c2def0e3e 8325653: Erroneous exhaustivity analysis for primitive patterns
Reviewed-by: vromero
2024-02-14 09:19:18 +00:00
Jan Lahoda
8b70b8d85a 8325440: Confusing error reported for octal literals with wrong digits
Reviewed-by: vromero
2024-02-09 11:51:05 +00:00
Aggelos Biboudis
e3dc6a7a28 8314275: Incorrect stepping in switch
Reviewed-by: vromero
2024-02-09 08:52:28 +00:00
Aggelos Biboudis
e0d98dd301 8325257: jshell reports NoSuchFieldError with instanceof primitive type
Reviewed-by: mcimadamore
2024-02-07 06:59:48 +00:00
Aggelos Biboudis
df35462a4e 8323502: javac crash with wrongly typed method block in Flow
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: jlahoda
2024-02-05 08:59:55 +00:00
Joe Darcy
144a08ee50 8325078: Better escaping of single and double quotes in javac annotation toString() results
Reviewed-by: jlahoda
2024-02-01 20:20:33 +00:00
Aggelos Biboudis
1733d2ea24 8303374: Implement JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Co-authored-by: Gavin Bierman <gbierman@openjdk.org>
Co-authored-by: Brian Goetz <briangoetz@openjdk.org>
Co-authored-by: Raffaello Giulietti <rgiulietti@openjdk.org>
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Reviewed-by: vromero, jlahoda
2024-01-31 14:18:13 +00:00
Daniel D. Daugherty
70f4a4e18e 8324786: validate-source fails after JDK-8042981
Reviewed-by: darcy
2024-01-26 22:01:07 +00:00
Joe Darcy
ed3272cc44 8042981: Strip type annotations in Types' utility methods
Co-authored-by: Liam Miller-Cushon <cushon@openjdk.org>
Reviewed-by: cushon, jjg, jlahoda
2024-01-26 20:55:46 +00:00
Joe Darcy
b5995a76f7 8302019: Clarify Elements.overrides
Reviewed-by: prappo, jjg
2024-01-25 22:17:07 +00:00
Christian Stein
c702dcabf8 8323815: Source launcher should find classes with $ in names
Reviewed-by: jlahoda, sundar
2024-01-24 19:05:15 +00:00
Jan Lahoda
c9cacfb25d 8323657: Compilation of snippet results in VerifyError at runtime with --release 9 (and above)
Reviewed-by: vromero
2024-01-22 13:06:19 +00:00
Jan Lahoda
72f199024d 8323057: Recoverable errors may be reported before unrecoverable errors when annotation processing is skipped
Reviewed-by: vromero
2024-01-22 10:55:10 +00:00
Joe Darcy
a6c0b10704 8323684: TypeMirror.{getAnnotationsByType, getAnnotation} return uninformative results
Reviewed-by: jjg
2024-01-18 19:04:26 +00:00
Joe Darcy
d8b63370f3 8323839: Expand use of Messager convenience methods in langtools regression tests
Reviewed-by: jjg
2024-01-17 00:29:05 +00:00
Vicente Romero
5ba69e1734 8322477: order of subclasses in the permits clause can differ between compilations
Reviewed-by: jlahoda
2024-01-10 17:52:50 +00:00
Jan Lahoda
7455b1b527 8322159: ThisEscapeAnalyzer crashes for erroneous code
Reviewed-by: vromero
2024-01-02 11:15:12 +00:00
Liam Miller-Cushon
bdebf198bb 8322175: test/langtools/tools/javac/classreader/BadMethodParameter.java doesn't compile
Reviewed-by: jlahoda
2023-12-15 12:18:01 +00:00
Liam Miller-Cushon
20de541b13 8322040: Missing array bounds check in ClassReader.parameter
Reviewed-by: vromero
2023-12-15 10:16:35 +00:00