Commit Graph

171 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
Vicente Romero
6a2e0a5a01 8198314: javac hidden options violate standard syntax for options
Reviewed-by: jjg
2018-04-03 23:58:52 -04:00
Liam Miller-Cushon
debaf13f38 8200301: deduplicate lambda methods
Reviewed-by: vromero, mcimadamore
2018-03-27 13:48:16 -04:00
Vicente Romero
25da45e26f 8198512: compiler support for local-variable syntax for lambda parameters
Reviewed-by: mcimadamore
2018-02-22 15:49:32 -05:00
Vicente Romero
4b6ab35c85 8198479: JDK build is broken by 8194892
Reviewed-by: sundar
2018-02-21 00:29:04 -05:00
Vicente Romero
2591c21c01 8194892: add compiler support for local-variable syntax for lambda parameters
Reviewed-by: mcimadamore
2018-02-20 11:45:16 -05:00
Liam Miller-Cushon
24ae32f082 8190452: javac should not add MethodParameters attributes to v51 and earlier class files
Reviewed-by: vromero, jjg
2018-02-05 10:43:31 -05:00
Vicente Romero
5f7d996632 8196403: remove the remaining use of string keys for errors and warnings in the compiler
Reviewed-by: mcimadamore, jlahoda
2018-02-02 07:43:54 -05:00
Lana Steuck
8f528fba93 Merge 2018-01-18 18:58:46 +00:00
Lana Steuck
c8c8cd7238 Merge 2018-01-04 04:22:28 +00:00
Jonathan Gibbons
b5fa820c6e 8193125: javac should not compile a module if it requires java.base with modifiers
Reviewed-by: vromero
2018-01-03 11:10:56 -08:00
Vicente Romero
d1750de1fc 8187487: crash with classes with same binary name
Reviewed-by: jjg
2018-01-02 16:35:04 -05:00
Joe Darcy
aa4c936f54 8189146: Have use of "var" in 9 and earlier source versions issue a warning for type declarations
Reviewed-by: mcimadamore, jjg
2018-01-16 17:27:06 -08:00
Vicente Romero
a316ab9ef3 8187487: crash with classes with same binary name
Reviewed-by: jjg
2018-01-08 14:06:25 -05:00
Maurizio Cimadamore
ede41aa311 8057650: uniform error diagnostics for inconsistent inherited method signatures
Consolidate diagnostics for bad overrides

Reviewed-by: vromero
2017-12-20 15:33:31 +00:00
Maurizio Cimadamore
686d74f11e 8189749: Devise strategy for making source level checks more uniform
Create a 'feature' enum which is responsible for handling source version checks and related diagnostic generation

Reviewed-by: jjg, jlahoda
2017-12-04 17:54:49 +00:00
Jan Lahoda
9bb2c5a0b3 8133616: compiler error messages for dup single type, single static import switched
When reporting clashing imports, use the (non-)staticness of the original import to generate the error message.

Reviewed-by: mcimadamore
2017-11-27 19:29:00 +01:00
Maurizio Cimadamore
e196ae9be6 8191834: Assigning a void expression to a "var" crashes the compiler
Local variable type inference should give error on void initializers

Reviewed-by: sundar
2017-11-24 16:14:33 +00:00
Jan Lahoda
7a77a63845 8180744: Update ct.sym for JDK 10
Adding historical data and code support for --release 9.

Reviewed-by: jjg, mcimadamore
2017-11-06 14:10:39 +01:00
Jan Lahoda
c6be2c363a 8187681: Compiling for target 9 while also using --patch-module
Removing limitation on simultaneous use of --release and --patch-module for system modules.

Reviewed-by: mcimadamore, jjg
2017-11-02 11:16:27 +01:00
Maurizio Cimadamore
c825188cd8 8177466: Add compiler support for local variable type-inference
Add support for 'var' in implicitly typed local variable declarations

Reviewed-by: vromero, jlahoda
2017-09-26 12:52:53 +01:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00