59 Commits

Author SHA1 Message Date
Jan Lahoda
75831b7be2 8170326: Inconsistencies between code, compiler.properties and comments
Converting uses of Log and JCDiagnostic.Factory methods to use CompilerProperties instead of plain Strings, fixing inconsistencies, adding crules analyzer to ensure CompilerProperties are used whenever possible.

Reviewed-by: mcimadamore
2017-06-15 13:44:42 +02:00
Vicente Romero
bfe58ed881 8181464: Invalid lambda in annotation causes NPE in Lint.augment
Reviewed-by: mcimadamore
2017-06-13 11:21:09 -07:00
Jan Lahoda
261ce92be5 8173777: Merge javac -Xmodule into javac--patch-module
Merging -Xmodule: functionality into --patch-module.

Reviewed-by: jjg, mchung, rfield
2017-02-13 09:37:26 +01:00
Jan Lahoda
b6e7bcbc6a 8171177: Compiler should issue a warning for incubating modules that are resolved
Javac needs to follow ModuleResolution.DO_NOT_RESOLVE_BY_DEFAULT and ModuleResolution.WARN_INCUBATING

Reviewed-by: jjg
2017-01-20 13:20:42 +01:00
Jan Lahoda
53792b463e 8172262: packages missing from docs build
Do not return packages without members from Elements.getPackageElement(String), to avoid ambiguities among such packages in multiple modules.

Reviewed-by: jjg
2017-01-17 07:41:04 +01:00
Jan Lahoda
c2d9172419 8169197: Improve error reporting for compiling against unexported package
When a type cannot be found, look into other modules, search for possible viable types, and report them conveniently to the user.

Reviewed-by: mcimadamore, jjg
2017-01-11 10:59:57 +01:00
Liam Miller-Cushon
a84bef19f0 8171132: Improve class reading of invalid or out-of-range ConstantValue attributes
Reviewed-by: mcimadamore
2016-12-21 15:40:08 -08:00
Vicente Romero
b29a67ae55 8169005: tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java fails after fix to JDK-8132562
Reviewed-by: jjg
2016-12-17 16:57:14 -05:00
Alan Bateman
22e233b2e9 8169069: Module system implementation refresh (11/2016)
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Bhavesh Patel <bhavesh.x.patel@oracle.com>
Co-authored-by: Andrey Nazarov <andrey.x.nazarov@oracle.com>
Reviewed-by: mcimadamore, jjg, mchung, anazarov
2016-12-01 09:02:42 +00:00
Vicente Romero
d130403704 8026721: Enhance Lambda serialization
Reviewed-by: jjg, briangoetz
2016-03-02 18:25:01 -05:00
Jan Lahoda
c58a8aae3e 8152911: javac assertion error when compiling overlay sources
Avoid creating ModuleSymbols with unspecified name, to avoid conflicts with predefined ModuleSymbol for the java.base module.

Reviewed-by: jjg
2016-10-04 16:25:19 +02:00
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