26 Commits

Author SHA1 Message Date
Jan Lahoda
d103a19b3a 8078561: Error message should be generated once when -source 6 is specified
Code to avoid duplicated errors about features not supported in the current source level moved to Log

Reviewed-by: jjg
2016-08-16 16:43:00 +02:00
Alan Bateman
001ebb3a72 8142968: Module System implementation
Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282

Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Co-authored-by: Andreas Lundblad <andreas.lundblad@oracle.com>
Co-authored-by: Andrey Nazarov <andrey.x.nazarov@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Kumar Srinivasan <kumar.x.srinivasan@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: jjg, jlahoda, vromero, mcimadamore, bpatel, ksrini, darcy, anazarov, dfuchs
2016-03-17 19:04:28 +00:00
Srikanth Adayapalam
460020d183 8151134: Fix bug id in test for JDK-8151018
Reviewed-by: jlahoda
2016-03-03 15:07:29 +05:30
Srikanth Adayapalam
433d2a7dbb 8151018: javac should emit a clearer diagnostic when a <> inferred anonymous type's non-private methods don't override super's
Reviewed-by: mcimadamore
2016-03-03 06:10:58 +05:30
Srikanth Adayapalam
3b399ff099 8078660: Misleading recommendation from diamond finder
Javac should recommend diamond usage if that could lead to a change in program behavior.

Reviewed-by: mcimadamore
2015-11-26 17:38:15 +05:30
Srikanth Adayapalam
9c310602ec 8075799: Extraneous access checks implemented by javac
Allow anonymous class constructors to refer to inaccessible types.

Reviewed-by: mcimadamore
2015-10-07 19:35:43 +05:30
Srikanth Adayapalam
0ea96ddfe4 8132535: Compiler fails with diamond anonymous class creation with intersection bound of enclosing class
Reviewed-by: mcimadamore
2015-10-01 19:47:06 +05:30
Srikanth Adayapalam
e57ef90dd9 8078473: javac diamond finder crashes when used to build java.base module
Reviewed-by: mcimadamore
2015-04-27 17:36:20 +05:30
Srikanth Adayapalam
f2ee4e4240 8078592: Compiler fails to reject erroneous use of diamond with anonymous classes involving "fresh" type variables
Reviewed-by: mcimadamore
2015-04-25 15:59:54 +05:30
Vicente Romero
8c8261cbad 8078024: javac, several incorporation steps are silently failing when an error should be reported
Reviewed-by: mcimadamore
2015-04-22 09:44:15 -07:00
Srikanth Adayapalam
8afd89977c 8062373: Project Coin: diamond and anonymous classes
Allow diamond inference in combination with anonymous class instance creation

Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Reviewed-by: mcimadamore, vromero
2015-03-30 17:09:14 +05:30
Maurizio Cimadamore
1ec5dfafe0 8007464: Add graph inference support
Add support for more aggressive type-inference scheme

Reviewed-by: jjg
2013-02-12 19:25:09 +00:00
Maurizio Cimadamore
442154dcf9 8005244: Implement overload resolution as per latest spec EDR
Add support for stuck expressions and provisional applicability

Reviewed-by: jjg
2013-01-21 20:13:56 +00:00
Maurizio Cimadamore
b03ad3ae09 7175911: Simplify error reporting API in Check.CheckContext interface
Make error messages generated during Check.checkType more uniform and more scalable

Reviewed-by: jjg, dlsmith
2012-08-02 18:22:41 +01:00
Maurizio Cimadamore
d951098c65 7154127: Inference cleanup: remove bound check analysis from visitors in Types.java
Remove bound checking rules from recursive subtype visitors in Types.java and replace with centralized bound-checking logic

Reviewed-by: jjg, dlsmith
2012-04-11 10:50:11 +01:00
Maurizio Cimadamore
9b1e54dae3 7151492: Encapsulate check logic into Attr.ResultInfo
ResultInfo class should be used to make attribution code transparent w.r.t. check logic being used

Reviewed-by: jjg, dlsmith
2012-03-26 15:28:22 +01:00
Maurizio Cimadamore
02802c9449 7046778: Project Coin: problem with diamond and member inner classes
Diamond inference generates spurious error messages when target type is a member inner class

Reviewed-by: jjg
2011-07-27 19:01:08 +01:00
Maurizio Cimadamore
409b9b8d25 7020044: Project Coin: diamond erroneous allowed on some anonymous inner classes
Disallow diamond on anonymous innner class creation expression (as per JSR 334's EDR)

Reviewed-by: jjg
2011-03-07 14:31:50 +00:00
Maurizio Cimadamore
7d8c3e9460 7020043: Project Coin: diamond allowed on non-generic type
Diamond oerator should be disallowed on non-generic class types (i.e. String)

Reviewed-by: jjg
2011-02-18 12:28:49 +00:00
Maurizio Cimadamore
f4daf3d7bf 7014715: javac returns different error code for certain failure(s)
Javac silently crashes when emitting certain kinds of resolution diagnostics

Reviewed-by: jjg
2011-02-03 09:38:19 +00:00
Maurizio Cimadamore
b77effad6c 6968793: issues with diagnostics
Several diagnostic improvements

Reviewed-by: jjg
2011-01-24 15:44:51 +00:00
Maurizio Cimadamore
cd3371e702 5088624: cannot find symbol message should be more intelligent
Resolve.java should keep track of all candidates found during a method resolution sweep to generate more meaningful diagnostics

Reviewed-by: jjg
2010-09-18 09:56:23 -07:00
Maurizio Cimadamore
d3fa7f79ad 6939620: Switch to 'complex' diamond inference scheme
Implement new inference scheme for diamond operator that takes into account type of actual arguments supplied to constructor

Reviewed-by: jjg, darcy
2010-04-14 12:31:55 +01:00
Maurizio Cimadamore
965595d38b 6939618: Revert 'simple' diamond implementation
Backout changeset for 6840638

Reviewed-by: jjg
2010-04-14 12:23:29 +01:00
Jonathan Gibbons
305d4bc5fc 6919889: assorted position errors in compiler syntax trees
Reviewed-by: darcy
2010-01-29 16:06:51 -08:00
Maurizio Cimadamore
e5ce4a752b 6840638: Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
Diamond operator implementation (simple approach)

Reviewed-by: jjg
2009-08-27 13:40:48 +01:00