Commit Graph

152 Commits

Author SHA1 Message Date
Vicente Romero
0996901f29 8029102: Enhance compiler warnings for Lambda
Reviewed-by: briangoetz, jjg, jlahoda, ahgross
2014-04-28 14:48:51 +01:00
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
Vicente Romero
a50db59b59 8029718: Should always use lambda body structure to disambiguate overload resolution
Reviewed-by: dlsmith, jjg, jlahoda
2014-04-21 22:51:49 +01:00
Jan Lahoda
e5c8101894 8038455: Use single Context for all rounds of annotation processing
One set of javac services, as well as created ClassSymbols, is reused for all rounds of processing now.

Reviewed-by: jjg, jfranck, darcy, vromero
2014-04-08 14:06:11 +02: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
Jan Lahoda
e339370175 8035890: jdk8 javac -source 7 compiles test case it should not
Ensuring source level checks are performed in two additional cases related to type annotations, adding specialized error message for annotations after method type parameters.

Reviewed-by: jfranck, jjg
2014-03-31 21:27:25 +02: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
Jan Lahoda
74250736aa 8031383: Error recovery in JavacParser could be improved
Improving error recovery in JavacParser by avoiding artificial nextToken in JavacParser.reportSyntaxError.

Co-authored-by: Dusan Balek <dusan.balek@oracle.com>
Reviewed-by: jjg, jfranck
2014-02-28 20:25:24 +01: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
e20546fe2a 8033961: Formatting of -Xlint: command line help
Improving formatting of command line help for -Xlint, including a short description of each lint.

Reviewed-by: jjg
2014-02-13 13:38:48 +01:00
Jan Lahoda
4724c454cd 8030091: Request to update error messages from javac for negative varargs test cases
Introducing a new error message for vararg parameter not being the last parameter, improving error message for unexpected character after a parameter.

Reviewed-by: jjg, sogoel
2014-02-02 12:12:01 +01:00
Abhijit Saha
c575ece03d Merge 2014-01-14 08:08:32 -08:00
Jan Lahoda
e32b40185e 8029376: Full attribution of unresolvable annotations
8029161: javac crashing when processing broken annotations

Attributing values of annotation attributes regardless how broken the annotation is.

Reviewed-by: jjg, jfranck
2014-01-10 11:31:09 +01:00
Steve Sides
4cbb43a7e3 8029230: Update copyright year to match last edit in jdk8 langtools repository for 2013
Reviewed-by: ksrini
2013-12-24 09:17:37 -08:00
Eric McCorkle
44f29ffde7 8027439: Compile-time error in the case of ((Integer[] & Serializable)new Integer[1]).getClass()
8027253: javac illegally accepts array as bound

Backing out change allowing arrays in intersection types

Reviewed-by: vromero
2013-11-11 09:47:46 -05:00
Werner Dietl
e5c34a89eb 8026564: import changes from type-annotations forest
Co-authored-by: Steve Sides <steve.sides@oracle.com>
Reviewed-by: jjg
2013-10-15 15:57:13 -07:00
Eric McCorkle
ad8c918fb1 8019461: Clean up javac diagnostics
7196553: Review error messages for repeating annotations

Changes to the diagnostic messages to improve clarity and JLS coherence

Reviewed-by: jjg
2013-10-10 13:55:41 -04: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
696179bbda 8023679: Improve error message for '_' used as a lambda parameter name
Reviewed-by: jjg, dlsmith
2013-10-02 17:04:51 +01:00
Maurizio Cimadamore
4cc7a55aab 8023549: Compiler emitting spurious errors when constructor reference type is inferred and explicit type arguments are supplied
Reviewed-by: jjg, vromero
2013-09-04 00:01:05 +01:00
Maurizio Cimadamore
0382c78ff1 8016177: structural most specific and stuckness
Reviewed-by: jjg, vromero
2013-09-02 22:38:36 +01:00
Jonathan Gibbons
3dd18b5d8c 8024093: Two *.rej files checked in to langtools/test directory
Reviewed-by: mchung
2013-08-30 15:14:51 -07:00
Joe Darcy
557cb9c6b1 8011043: Warn about use of 1.5 and earlier source and target values
Reviewed-by: jjg
2013-08-20 12:15:19 -07:00
Jan Lahoda
59e0637339 8015809: More user friendly compile-time errors for uncaught exceptions in lambda expression
Producing individual errors for uncaught undeclared exceptions inside lambda expressions, rather than one error for the whole lambda

Reviewed-by: mcimadamore
2013-08-15 22:33:43 +02:00
Maurizio Cimadamore
4e85a5ae43 6537020: JCK tests: a compile-time error should be given in case of ambiguously imported fields (types, methods)
Hiding check does not support interface multiple inheritance

Reviewed-by: jjg
2013-08-12 17:25:07 +01:00
Vicente Romero
5540c7cbe1 8013179: assertion failure in javac when compiling with -source 1.6 -target 1.6
Reviewed-by: jjg
2013-07-31 10:52:01 +01:00
Maurizio Cimadamore
da6bbaf42b 8020843: javac crashes on accessibility check with method reference with typevar receiver
Method reference overload check doesn't walk through type-variable receivers

Reviewed-by: jjg
2013-07-25 14:51:40 +01:00
Kumar Srinivasan
c6c6fe7b5e 8017216: javac doesn't fill in end position for some errors of type not found
8019421: Javac doesn't fill in end position for some annotation related errors
8019422: Javac doesn't fill in end position for uninitialized variable errors

Reviewed-by: jjg, mcimadamore
2013-07-19 07:22:53 -07:00
Maurizio Cimadamore
80407ef47d 8013576: Add stat support to LambdaToMethod
LambdaToMethod should emit info to help diagnose/test lambda metafactory problems

Reviewed-by: jjg, vromero
2013-06-10 15:57:32 +01:00
Vicente Romero
a24da77752 7060779: test/tools/javac/diags/Example.java leaves directories in tempdir
Reviewed-by: mcimadamore
2013-05-21 12:17:18 +01:00
Maurizio Cimadamore
ec458693f7 8012003: Method diagnostics resolution need to be simplified in some cases
Unfold method resolution diagnostics when they mention errors in poly expressions

Reviewed-by: jjg, vromero
2013-05-15 14:00:31 +01:00
Werner Dietl
54582cab82 8013852: update reference impl for type-annotations
Co-authored-by: Steve Sides <steve.sides@oracle.com>
Co-authored-by: Joel Borggren-Franck <joel.franck@oracle.com>
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Reviewed-by: jjg
2013-05-14 15:04:06 -07:00
Maurizio Cimadamore
da9dd76b20 8010822: Intersection type cast for functional expressions does not follow spec EDR
Remove support for marker interfaces; redefine intersection type casts to be order-independent

Reviewed-by: jjg
2013-04-08 15:59:29 +01:00
Maurizio Cimadamore
ea55015155 8009131: Overload: javac should discard methods that lead to errors in lambdas with implicit parameter types
Lambdas that have errors in their bodies should make enclosing overload resolution fail

Reviewed-by: jjg
2013-04-08 15:57:10 +01:00
Jonathan Gibbons
18f48ab46b 8010511: Tests are creating files in /tmp
Reviewed-by: darcy
2013-03-28 10:58:45 -07:00
Joe Darcy
d54accaf5c 7080464: langtools regression test failures when assertions are enabled
Reviewed-by: jjg
2013-03-22 10:08:46 -07:00
Maurizio Cimadamore
e788a0e536 8009129: Illegal access error when calling method reference
Javac generates method handle referencing non public type

Reviewed-by: jjg, rfield
2013-03-05 14:19:49 +00:00
Maurizio Cimadamore
f932d844c1 8008537: Missing method reference lookup error when unbound search finds a static method
Static-ness check should be applied after member reference resolution

Reviewed-by: jjg
2013-02-28 14:05:52 +00:00
Lana Steuck
3c22954800 Merge 2013-02-21 17:49:56 -08: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
David Holmes
e57875e8ab Merge 2013-02-17 16:44:55 -05:00
Maurizio Cimadamore
b496912ee1 8007462: Fix provisional applicability for method references
Add speculative arity-based check to rule out potential candidates when stuck reference is passed to method

Reviewed-by: jjg
2013-02-15 16:29:58 +00:00
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
David Holmes
581f36e1cc Merge 2013-02-04 18:08:53 -05: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
3054ea5580 8005166: Add support for static interface methods
Support public static interface methods

Reviewed-by: jjg
2013-01-21 20:19:53 +00:00
Maurizio Cimadamore
422c8bd914 8006566: Remove transient lambda-related guards from JavacParser
Remove transitional internal flag for allowing intersection types in cast

Reviewed-by: jjg
2013-01-21 20:14:39 +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
Jonathan Gibbons
caf667de05 8004182: Add support for profiles in javac
Reviewed-by: mcimadamore
2013-01-21 01:27:42 -05:00
Maurizio Cimadamore
00ae27b2cf 8006561: Langtools test failure: missing diags/examples
Forgot to hg add tests

Reviewed-by: jjg
2013-01-18 15:38:14 +00:00