377 Commits

Author SHA1 Message Date
Jan Lahoda
2f45d46640 8237528: Inefficient compilation of Pattern Matching for instanceof
Avoiding unnecessary cast and comparison in type test pattern desugaring.

Reviewed-by: forax, mcimadamore
2020-01-29 10:37:22 +01:00
Vicente Romero
64288e1e76 8235149: javac parser is too aggressive on ambiguous expressions using identifier: record
Reviewed-by: mcimadamore
2020-01-27 18:50:19 -05:00
Adam Sotona
d97fe7b050 8042742: possible error in Tokens.Token.checkKind() for javac
Correcting expected token kind in an assert.

Reviewed-by: jlahoda
2020-01-24 12:31:51 +01:00
Vicente Romero
0f98701e87 8236210: javac generates wrong annotation for fields generated from record components
Reviewed-by: mcimadamore
2020-01-23 19:20:11 -05:00
Jesper Wilhelmsson
b7cdc097e3 Merge 2020-01-22 21:02:16 +01:00
Leo Jiang
b94b082727 8237465: JDK 14 L10n resource files update - msg drop 10
Reviewed-by: naoto
2020-01-22 22:37:36 +08:00
Daniel Le Duc Khoi Nguyen
f0c804676c 8233680: JavacFileManager.close() doesn't clear some cache instance variables
Reviewed-by: jjg
2020-01-15 14:02:50 -08:00
Jan Lahoda
8787b9a66d 8233655: NPE at jdk.compiler/com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitApply
Ensuring that errors reported during speculative attribution that belong to a different file are not lost.

Reviewed-by: mcimadamore
2020-01-15 11:31:16 +01:00
Jonathan Gibbons
9ec4001d87 8237058: Update all nroff manpages for JDK 14 release
Reviewed-by: dholmes
2020-01-14 15:01:34 -08:00
Vicente Romero
5ff1d72185 8236005: local records shouldn't capture any non-static state from any enclosing type
Reviewed-by: mcimadamore
2020-01-14 07:07:43 -05:00
Jan Lahoda
a35d087f54 8236670: Conflicting bindings accepted in some cases
Reviewed-by: mcimadamore
2020-01-14 11:10:07 +01:00
Jan Lahoda
8e2c1c68f6 8236546: Yield with boolean expression and Object target type crashes javac
The whenTrue and whenFalse sets need to be merged for non-boolean expressions.

Reviewed-by: mcimadamore
2020-01-13 10:50:31 +01:00
Vicente Romero
4692bc58eb 8236841: compact constructor parameters are always final
Reviewed-by: mcimadamore
2020-01-10 15:32:04 -05:00
Vicente Romero
be6b4aab40 8236692: static final fields without initializer are accepted by javac
Reviewed-by: mcimadamore
2020-01-08 15:18:58 -05:00
Vicente Romero
50a56141ba 8234445: spurious error message for record constructors with receiver parameters
Reviewed-by: mcimadamore
2020-01-07 09:21:07 -05:00
Vicente Romero
320d4b7f72 8236266: change error message for the case when a class extends j.l.Record
Reviewed-by: mcimadamore
2020-01-07 09:10:14 -05:00
Vicente Romero
aa3a79a29b 8236544: confusing error message: return type of accessor method is not compatible with type of record component
Reviewed-by: mcimadamore
2020-01-07 09:08:31 -05:00
Jan Lahoda
ad5ea72286 8235541: Extend javax.lang.model to cover binding variables
Reviewed-by: darcy
2019-12-09 09:40:09 +01:00
Jonathan Gibbons
d8d4cd6508 8235597: Extend support for -XDaccessInternalAPI to plugin modules
Reviewed-by: mcimadamore, jlahoda
2019-12-11 16:32:49 -08:00
Jonathan Gibbons
9fc688875d 8235621: Replace use of Function<?,Integer> with ToIntFunction
Reviewed-by: mcimadamore, jlahoda
2019-12-11 16:24:23 -08:00
Vicente Romero
69c1729e26 8234101: Compilation error thrown when repeating annotation is used on record component
Reviewed-by: jlahoda
2019-12-11 15:31:40 -05:00
Jeremy Kuhn
cbe604cf5d 8235457: Crash when reporting a message about an annotation on a module
8235458: Problem caused by imports in a module-info.java file

Reviewed-by: jjg
2019-12-11 11:55:50 -08:00
Jan Lahoda
308aea3e0b 8235474: JShell does not handle records properly
Reviewed-by: vromero, rfield
2019-12-11 13:08:42 +01:00
Jonathan Gibbons
589f23568a 8234689: facilitate writing additional custom attributes in a class file
Reviewed-by: jlahoda
2019-12-09 12:27:57 -08:00
Jonathan Gibbons
45b8d09e1b 8234211: allow discoverable javac plugins to be invoked by default
Reviewed-by: jlahoda
2019-12-09 10:44:02 -08:00
Jonathan Gibbons
fa21d57760 8218268: Javac treats Manifest Class-Path entries as Paths instead of URLs
Reviewed-by: mchung, bchristi
2019-12-06 13:03:39 -08:00
Vicente Romero
bf2f855cd7 8235446: confusing error message for records with no parens
Reviewed-by: mcimadamore
2019-12-06 14:23:17 -05:00
Jesper Wilhelmsson
51d5164ca2 Merge 2020-01-16 04:09:50 +01:00
Jesper Wilhelmsson
d34f561de0 Merge 2020-01-15 20:41:46 +01:00
Vicente Romero
eb6fa14ee6 8237214: fix for JDK-8236597 reintroduced wrong subexpression
Reviewed-by: mcimadamore
2020-01-15 14:32:08 -05:00
Vicente Romero
ff77d06f17 8236597: issues inferring type annotations on records
Reviewed-by: mcimadamore
2020-01-15 10:45:03 -05:00
Vicente Romero
ddcac6f066 8236682: Javac generates a redundant FieldRef constant for record fields
Reviewed-by: mcimadamore
2020-01-14 21:49:43 -05:00
Jesper Wilhelmsson
913b8702d1 Merge 2020-01-13 15:40:09 +01:00
Jesper Wilhelmsson
943b87ddde Merge 2020-01-09 20:21:53 +01:00
Jesper Wilhelmsson
257a1bb854 Merge 2020-01-08 16:03:32 +01:00
Vicente Romero
396c363517 8236544: confusing error message: return type of accessor method is not compatible with type of record component
Reviewed-by: mcimadamore
2020-01-03 12:37:30 -05:00
Pavel Rappo
911846b49b 8236435: Fix typos in javac area
Reviewed-by: jjg, mcimadamore
2019-12-24 09:38:41 +00:00
Vicente Romero
68122fd64e 8236266: change error message for the case when a class extends j.l.Record
Reviewed-by: mcimadamore
2019-12-19 13:32:58 -05:00
Vicente Romero
9695ddfffc 8234445: spurious error message for record constructors with receiver parameters
Reviewed-by: mcimadamore
2019-12-19 11:46:35 -05:00
Joe Darcy
df308ac680 8224630: ElementScannerN, N > 9 should scan type parameters
Reviewed-by: mcimadamore, erikj
2019-12-05 14:14:06 -08:00
Jim Laskey
945c8d555b 8232681: ArrayIndexOutOfBoundsException with text blocks in javac when using -Xlint
Reviewed-by: sundar
2019-12-05 09:22:21 -04:00
Vicente Romero
827e5e3226 8225054: Compiler implementation for records
8225052: javax.lang.model support for records
8225053: Preview APIs support for records
8225055: Javadoc for records
8226314: com.sun.source support for records
8227113: Specification for java.lang.Record
8233526: JVM support for records

Implement records in the compiler and the JVM, including serialization, reflection and APIs support

Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Joe Darcy <joe.darcy@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, briangoetz, alanb, darcy, chegar, jrose, jlahoda, coleenp, dholmes, lfoltan, mchung, sadayapalam, hannesw, sspitsyn
2019-12-04 15:57:39 -05:00
Jan Lahoda
07be23513b 8234922: No compilation error reported not reported for a binding variable when loop broken with label
Any break outside of a loop should confine the binding variables from the loop's condition to the loop

Reviewed-by: mcimadamore
2019-12-04 09:38:32 +01:00
Jan Lahoda
f26bdf8476 8234899: Compiler reports AssertionError for conditional operator ? : and pattern matching for instanceof
Reviewed-by: mcimadamore
2019-12-04 09:38:31 +01:00
Jim Laskey
234f326d79 8233116: Escape Sequences For Line Continuation and White Space (Preview)
Reviewed-by: vromero, jlahoda, bchristi, mcimadamore
2019-12-03 08:35:21 -04:00
Jan Lahoda
c41e980320 8234078: Missing license headers in a few javac files
Reviewed-by: vromero
2019-12-02 10:58:15 +01:00
Jan Lahoda
ed97c87088 8233524: Wrong module name for \"package P is declared in the unnamed module, but module M does not read it\"
Using the correct placeholder for the module name.

Reviewed-by: jjg
2019-12-02 10:58:13 +01:00
Jan Lahoda
229e0d1631 8231826: Implement javac changes for pattern matching for instanceof
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Gavin Bierman <gavin.bierman@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Srikanth Adayapalam <srikanth.adayapalam@oracle.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: mcimadamore
2019-11-27 09:00:01 +01:00
Srikanth Adayapalam
05ca3218d9 8234729: Javac should eagerly change code generation for method references to avert IllegalAccessError in future
Reviewed-by: mcimadamore
2019-11-26 11:13:53 +05:30
Jaikiran Pai
0435ec1aaa 8232170: FSInfo#getJarClassPath throws an exception not declared in its throws clause
Reviewed-by: jjg
2019-11-22 10:38:35 -08:00