48 Commits

Author SHA1 Message Date
Jan Lahoda
53cd7b54fa 8153391: an image created for \"jdk.compiler\" fails to run javac
Improving errors produced by javac when the zipfs implementation is missing in the JDK image.

Reviewed-by: jjg
2016-08-22 09:59:43 +02:00
Srikanth Adayapalam
c7f35c53af 8157512: AssertionError in javac when module-info < v53.0
Reviewed-by: jjg
2016-08-16 09:45:19 +05:30
Jonathan Gibbons
978417c4c7 8136930: Simplify use of module-system options by custom launchers
8160489: Multiple -Xpatch lines ignored by javac
8156998: javac should support new option -XinheritRuntimeEnvironment

Reviewed-by: jlahoda, ksrini
2016-08-10 15:47:46 -07:00
Vicente Romero
b69fa0a44d 8159439: javac throws NPE with Module attribute and super_class != 0
Reviewed-by: jjg
2016-06-27 12:29:41 -07:00
Srikanth Adayapalam
34b3d6385e 8154997: Add examples for jigsaw diagnostics
Reviewed-by: jjg, jlahoda
2016-05-18 11:38:20 +05:30
Vicente Romero
9f41228dab 8153268: javac accepts enums being referenced by 'uses' statement
Reviewed-by: jjg
2016-05-06 16:06:27 -04: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
Vicente Romero
0698afcea9 8149600: javac, remove unused options, step 2
Reviewed-by: jjg, mcimadamore
2016-02-22 16:17:25 -08:00
Vicente Romero
286b0caa6c 8148808: javac, remove unused options, step 1
Reviewed-by: mcimadamore, jjg
2016-02-10 15:11:40 -08:00
Maurizio Cimadamore
875bccb11e 8067767: type inference performance regression
Overhaul implememntation of inference incorporation

Reviewed-by: vromero
2015-11-19 16:43:11 +00:00
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
c4ebb7f3c0 8071847: java.lang.NullPointerException at com.sun.tools.javac.code.Types.elemtype(Types.java:1870)
Class file reader should recover from malformed class files that contain methods incorrectly flagged as variable arity methods.

Reviewed-by: jlahoda
2015-03-13 13:15:24 +05:30
Paul Govereau
b349726850 8038023: Compiler crash ClassCastException
Add additional checks on results of ClassReader.readPool

Reviewed-by: vromero
2014-04-22 19:52:15 +01:00
Paul Govereau
8e6660eb56 8023945: javac wrongly allows a subclass of an anonymous class
Reviewed-by: jjg
2014-04-04 19:13:53 -04:00
Paul Govereau
e0bc15202b 6898851: Compiling against this corrupt class file causes a stacktrace from javac
Added check for index out-of-bounds erros in ClassReader

Reviewed-by: jjg
2014-03-19 11:34:27 -04:00
Paul Govereau
dd0e29f8b7 6533516: Warning needed for file with future time stamps
Reviewed-by: jjg, vromero
2014-02-26 18:05:02 -08:00
Jan Lahoda
5ec0ba7c47 8025087: Annotation processing api returns default modifier for interface static method
ClassReader must not set Flags.DEFAULT for interface static methods

Reviewed-by: vromero, jjg
2013-10-09 13:09:31 +02:00
Vicente Romero
e6b61ae08a 6563143: javac should issue a warning for overriding equals without hashCode
Reviewed-by: jjg, mcimadamore
2013-02-18 14:33:25 +00:00
Michael Ernst
659a96edf9 8006775: JSR 308: Compiler changes in JDK8
Co-authored-by: Werner Dietl <wmdietl@cs.washington.edu>
Co-authored-by: Matt Papi <mpapi@csail.mit.edu>
Co-authored-by: Mahmood Ali <mahmood@notnoop.com>
Reviewed-by: jjg
2013-01-23 13:27:24 -08: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
3b3feb3853 8005299: Add FunctionalInterface checking to javac
Javac should check that types annotated with @FunctionalInterface are indeed functional interfaces

Reviewed-by: jjg
2013-01-16 16:30:11 +00:00
Jonathan Gibbons
a2f594bf74 8006119: update javac to follow latest spec for repeatable annotations
Reviewed-by: darcy
2013-01-14 13:50:01 -08:00
Jonathan Gibbons
c78e1cbfac 7021614: extend com.sun.source API to support parsing javadoc comments
Reviewed-by: ksrini, strarup
2012-11-14 17:23:10 -08:00
Maurizio Cimadamore
319150fde0 7177386: Add attribution support for method references
Add type-checking/lookup routines for method references

Reviewed-by: jjg, dlsmith
2012-10-06 10:35:38 +01:00
Maurizio Cimadamore
72f39bf20c 7177385: Add attribution support for lambda expressions
Add support for function descriptor lookup, functional interface inference and lambda expression type-checking

Reviewed-by: jjg, dlsmith
2012-10-05 14:35:24 +01:00
Maurizio Cimadamore
c0e2ed86c1 7177387: Add target-typing support in method context
Add support for deferred types and speculative attribution

Reviewed-by: jjg, dlsmith
2012-10-04 13:04:53 +01:00
Maurizio Cimadamore
f49f25c60d 7177306: Regression: unchecked method call does not erase return type
Spurious extra call to Attr.checkMethod when method call is unchecked

Reviewed-by: jjg, dlsmith
2012-09-25 11:56:46 +01:00
Joel Borggrén-Franck
9c23b8bad0 7151010: Add compiler support for repeating annotations
Reviewed-by: jjg, mcimadamore
2012-08-31 10:37:46 +01:00
Maurizio Cimadamore
7e32f8e585 7166552: Inference: cleanup usage of Type.ForAll
Remove hack to callback into type-inference from assignment context

Reviewed-by: dlsmith, jjg
2012-05-31 17:42:14 +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
51235439c2 7133185: Update 292 overload resolution logic to match JLS
Re-implement special overload resolution support for method handles according to the JLS SE 7 definition

Reviewed-by: jjg, dlsmith, jrose
2012-03-26 15:28:49 +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
Jonathan Gibbons
ff7362918f 7092965: javac should not close processorClassLoader before end of compilation
Reviewed-by: darcy
2011-09-21 21:56:53 -07:00
Joe Darcy
faf515b31f 6575445: Update annotation processor to only use java.util.ServiceLoader
Reviewed-by: jjg
2011-06-24 13:52:14 -07:00
Maurizio Cimadamore
ea2c9e0af0 6550655: com.sun.tools.javac.code.Symbol$CompletionFailure
Accessing a non-existing enum constant from an annotation whose class is available results in an internal error

Reviewed-by: jjg
2011-04-29 16:06:28 +01:00
Jonathan Gibbons
ce0e6ca247 7031108: NPE in javac.jvm.ClassReader.findMethod in PackageElement.enclosedElements from AP in incr build
Reviewed-by: darcy, mcimadamore
2011-03-30 18:18:11 -07: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
1e776bc78a 6313164: javac generates code that fails byte code verification for the varargs feature
Method applicability check should fail if formal varargs element type is not accessible

Reviewed-by: jjg
2011-01-28 12:03:49 +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
0dae258b02 6949040: java.dyn package must be compiled with -target 7 or better
Issue error (rather than warning) when @PolymorphicSignature is found and target < 7

Reviewed-by: jjg
2011-01-14 09:46:44 +00:00
Jonathan Gibbons
43e78a8d44 6992999: fully remove JSR 308 from langtools
Reviewed-by: mcimadamore
2011-01-10 14:57:59 -08:00
Jonathan Gibbons
8e9c506c6c 6999210: javac should be able to warn of anomalous conditions in classfiles
Reviewed-by: mcimadamore, darcy
2010-12-07 14:13:25 -08: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
John Rose
cd74d63c12 6979327: method handle invocation should use casts instead of type parameters to specify return type
Infer return type for polymorphic signature calls according to updated JSR 292 draft

Reviewed-by: jjg
2010-09-07 17:32:27 +01:00
Jonathan Gibbons
e96eb944c2 6980707: Reduce use of IOException in JavaCompiler
Reviewed-by: darcy
2010-08-27 17:59:08 -07:00
Maurizio Cimadamore
2801325742 6369605: Unconstrained type variables fails to include bounds
Unconstrained type-variables with recursive bounds are not inferred properly

Reviewed-by: jjg
2010-08-16 14:58:10 +01:00
Jonathan Gibbons
eff5854b96 6966604: JavacFiler not correctly notified of lastRound
Reviewed-by: darcy
2010-07-29 19:30:35 -07:00
Jonathan Gibbons
7eb8c115ec 6968063: provide examples of code that generate diagnostics
Reviewed-by: mcimadamore
2010-07-22 11:02:54 -07:00