Commit Graph

71 Commits

Author SHA1 Message Date
Jim Laskey
ef8537ec1a 8241741: Implement Text Blocks as a standard feature in javac
Reviewed-by: jlahoda
2020-04-09 10:55:01 -03:00
Joe Darcy
d4a069b33b 8237450: JDK13 annotation processors not run when a supported annotation type specifies a module
Initial fix suggested by jjg based on through analysis by Jeremy Kuhn.

Reviewed-by: jjg
2020-02-18 17:03:54 -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
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
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
Jan Lahoda
29852ecd80 8232684: Make switch expressions final
Reviewed-by: alanb, mcimadamore, kvn
2019-11-12 06:32:13 +00:00
Jan Lahoda
a1894385b3 8226585: Improve javac messages for using a preview API
Avoiding deprecation for removal for APIs associated with preview features, the features are marked with an annotation, and errors/warnings are produced for them based on the annotation.

Co-authored-by: Joe Darcy <joe.darcy@oracle.com>
Reviewed-by: erikj, mcimadamore, alanb
2019-10-21 15:38:26 +02:00
Jan Lahoda
a51a8527e7 8228460: bootstrap class path not set in conjunction with -source 11
Ensuring implicit system module path is checked for the no-bootclasspath warning for -source >= 9.

Reviewed-by: vromero
2019-09-18 10:41:18 +02:00
Jan Lahoda
f033152eae 8228502: javac crashed on a broken classfile with ConstantValue attribute on a field of type Object
Produce an error when reading a classfile with a field with ConstantValue with a wrong type.

Reviewed-by: vromero
2019-08-13 10:27:34 +02:00
Jan Lahoda
36ae680f2a 8228647: Broken enum produce inconvenient errors and AST
Improving error recovery for misplace members in enums.

Reviewed-by: vromero
2019-08-13 10:27:33 +02:00
Jesper Wilhelmsson
37599ff955 Merge 2019-06-29 05:26:55 +02:00
Jan Lahoda
e81d3fa8c3 8226510: No compilation error when switch expression has no result expressions
Ensure a compile-time error is produced when there are no result expressions in an switch expression.

Reviewed-by: vromero
2019-06-27 10:39:27 +02:00
Joe Darcy
4750064828 8214546: Start of release updates for JDK 14
8214547: Add SourceVersion.RELEASE_14
8214548: Add source 14 and target 14 to javac
8214549: Bump maximum recognized class file version to 58 for JDK 14

Reviewed-by: jjg, mikael, erikj, jlahoda, dholmes
2019-06-11 16:45:20 -07:00
Jan Lahoda
b34b2d993c 8223305: Compiler support for Switch Expressions
Reviewed-by: mcimadamore, vromero
2019-06-10 05:09:52 +02:00
Jim Laskey
08e1ece107 8223967: Implement Text Blocks (Preview) in the Java compiler
Reviewed-by: vromero, jlahoda, abuckley
2019-06-06 12:24:44 -03:00
Joe Darcy
4dd6b687ef 8224177: Harden annotation processing framework to irregular behavior from processors
Reviewed-by: jjg
2019-05-23 18:47:24 -07:00
Steve Groeger
7c55d53d66 8218152: [javac] fails and exits with no error if a bad annotation processor provided
Handle exceptions thrown while loading annotation processors.

Reviewed-by: jlahoda
2019-04-30 10:39:22 +02:00
Maurizio Cimadamore
7b7f9a6fd3 8222289: Overhaul logic for reading/writing constant pool entries
Rewrite of Pool,ClassReader,ClassWriter to use shared pool helper components

Reviewed-by: vromero
2019-04-17 15:37:20 +01:00
Liam Miller-Cushon
b0f6b1086a 8220632: Suggest recompiling with a larger value of -Xmaxerrs/-Xmaxwarns if diagnostics were suppressed
Reviewed-by: jjg
2019-03-26 16:09:33 -07:00
Joe Darcy
bf2d27c5a4 8219254: Update explicit uses of latest source/target in langtools tests to a property
8219256: Update javac diags tests to use properties

Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Reviewed-by: jjg, jlahoda, darcy, iignatyev
2019-02-21 10:29:16 -08:00
Srinivas Dama
37169f4bbc 8201544: Improve javac command line parsing and error reporting
Modified exception into an error message for invalid filenames on windows

Reviewed-by: vromero, jjg
2019-02-14 21:52:39 +05:30
Jesper Wilhelmsson
67a5fc2529 Merge 2019-01-09 22:59:49 +01:00
Jim Laskey
11b29c8de1 8215681: Remove compiler support for Raw String Literals from JDK 12
Reviewed-by: mcimadamore, jlahoda, sundar
2019-01-09 11:13:00 -04:00
Joe Darcy
b5f0eec3d8 8205626: Start of release updates for JDK 13
8205393: Add SourceVersion.RELEASE_13
8205394: Add source 13 and target 13 to javac
8205645: Bump maximum recognized class file version to 57 for JDK 13
8214825: Update preview language features for start of JDK 13

Reviewed-by: erikj, alanb, mchung, mcimadamore, dholmes, smarks, jjg
2018-12-13 19:06:11 +01:00
Vicente Romero
9846588b31 8210031: implementation for JVM Constants API
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Reviewed-by: jrose, mcimadamore, darcy, mchung, rriggs, dholmes, forax
2018-12-09 12:36:24 -05:00
Liam Miller-Cushon
7f365fffbd 8214902: Pretty-printing marker annotations add unnecessary parenthesis
Reviewed-by: jjg
2018-12-05 11:31:20 -08:00
Jan Lahoda
60b32f222f 8212982: Rule cases in switch expression accepted even if complete normally
Ensure an error is reported if switch expression does not correctly produce a value.

Reviewed-by: mcimadamore
2018-11-21 15:22:57 +01:00
Jonathan Gibbons
73fa99ae86 8213263: fix legal headers in test/langtools
Reviewed-by: darcy
2018-11-01 14:32:55 -07:00
Vicente Romero
2589e9733e 8211148: var in implicit lambdas shouldn't be accepted for source < 11
Reviewed-by: mcimadamore
2018-10-04 08:37:08 -07:00
Jim Laskey
734a258afb 8210674: Need to add examples for use of javac properties introduced by Raw String Literals
Reviewed-by: vromero, jjg
2018-09-13 14:15:27 -03:00
Jim Laskey
d2b04cb964 8210671: CheckExamples.java fail after Raw String Literals checkin
Reviewed-by: vromero, darcy
2018-09-12 17:14:08 -03:00
Jim Laskey
2065ebd890 8206981: Compiler support for Raw String Literals
Reviewed-by: mcimadamore, briangoetz, abuckley, jjg, vromero, jlahoda
2018-09-12 14:19:36 -03:00
Jonathan Gibbons
c8d641d148 8208608: Update --module-source-path to allow explicit source paths for specific modules
Reviewed-by: jlahoda
2018-08-31 14:54:42 -07:00
Jan Lahoda
b3b644438e 8206986: Compiler support for Switch Expressions (Preview)
8207405: Compiler Tree API support for Switch Expressions (Preview)

Support for switch expression, switch with rules and multiple constants for cases.

Reviewed-by: jjg, mcimadamore, vromero
2018-08-29 09:36:17 +02:00
Joe Darcy
a376d5dab4 8207248: Reduce incidence of compiler.warn.source.no.bootclasspath in javac tests
Reviewed-by: vromero
2018-07-16 21:53:49 -07:00
Joe Darcy
90518f0635 8028563: Remove javac support for 6/1.6 source and target values
Reviewed-by: jjg, erikj, henryjen
2018-07-12 14:13:15 -07:00
Joe Darcy
e56162b43d 8205615: Start of release updates for JDK 12
8205621: Increment JDK version for JDK 12
8193292: Add SourceVersion.RELEASE_12
8193290: Add source 12 and target 12 to javac
8205619: Bump maximum recognized class file version to 56 for JDK 12

Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Mikael Vidstedt <mikael.vidstedt@oracle.com>
Reviewed-by: alanb, smarks, jjg, mr, erikj, psandoz, dholmes
2018-06-27 21:01:12 -07:00
Bernard Blaser
c97262c785 8203813: javac accepts an illegal name as a receiver parameter name
Reviewed-by: vromero
2018-06-14 05:50:21 -07:00
Jonathan Gibbons
fe24730ed9 8201274: Launch Single-File Source-Code Programs
Reviewed-by: mcimadamore, jlahoda, ksrini, mchung, ihse, alanb
2018-06-07 16:06:49 -07:00
Maurizio Cimadamore
d10e29af44 8203488: Remove error generation from TransTypes
Bridge clash errors should noty be reported in TransTypes (as they are already reported in the frontend); cleanup polysig call code.

Reviewed-by: vromero, cushon, forax
2018-05-24 11:13:42 +01:00
Jan Lahoda
c3cdecd32b 8198315: Incomplete classpath causes NPE in TransTypes
Avoid symbol completion while constructing error message.

Reviewed-by: mcimadamore
2018-05-22 12:26:17 +02:00
Maurizio Cimadamore
47d634e453 8203436: javac should fail early when emitting illegal signature attributes
Check that signature attributes do not contain non-denotable types

Reviewed-by: vromero
2018-05-22 13:37:05 +01:00
Vicente Romero
ec167413f9 8148354: Errors targeting functional interface intersection types
Reviewed-by: mcimadamore, dlsmith
2018-05-18 09:22:31 -07:00
Vicente Romero
74b151103e 8194998: broken error message for subclass of interface with private method
Reviewed-by: mcimadamore
2018-05-11 10:39:04 -07:00
Vicente Romero
3b13b81625 8202597: javac is not inducing a notional interface if Object appears in an intersection type
Reviewed-by: mcimadamore
2018-05-08 17:12:54 -07:00
Vicente Romero
f69402ef44 8201281: Truncated error message with Incompatible : null
Reviewed-by: mcimadamore
2018-04-24 08:13:30 -07:00
Vicente Romero
03a10ec7b2 8196433: use the new error diagnostic approach at javac.Main
Reviewed-by: jjg
2018-04-18 16:02:53 -04:00
Maurizio Cimadamore
85fbf32898 8201554: Disable failing tier1 test for JDK-8201498
Reviewed-by: jjg
2018-04-13 11:14:49 -07:00
Maurizio Cimadamore
19581edca2 8201498: test/langtools/tools/javac/diags/CheckExamples.java 6 errors occurred
Remove duplicate class names in diagnostic examples.

Reviewed-by: jlahoda
2018-04-13 16:23:56 +01:00
Maurizio Cimadamore
d9440e4e39 8199194: Add javac support for preview features
Add support for preview features and related command line options.

Reviewed-by: jjg
2018-04-12 13:55:20 +01:00