Commit Graph

208 Commits

Author SHA1 Message Date
Srikanth Adayapalam
08b811e8d6 8139836: Can't use super::x method reference when x is protected
Javac incorrectly diasllows reference to a protected method from a super class in method reference expressions.

Reviewed-by: mcimadamore
2015-10-20 15:25:41 +05:30
Srikanth Adayapalam
ac4f8dfdd2 8139245: compiler crashes with exception on int:new method reference and generic method inference
Reviewed-by: mcimadamore
2015-10-12 19:43:44 +05:30
Srikanth Adayapalam
1a5c52e6c3 8130506: javac AssertionError when invoking MethodHandle.invoke with lambda paramter
Reviewed-by: mcimadamore
2015-10-07 15:53:38 +05:30
Maurizio Cimadamore
981c6dc298 8078093: Severe compiler performance regression Java 7 to 8 for nested method invocations
Add infrastructure to avoid combinatorial explosion of method argument attributions

Reviewed-by: jlahoda, vromero, dlsmith
2015-09-15 13:43:44 +01:00
Maurizio Cimadamore
2f46e61a83 8129962: Investigate performance improvements in langtools combo tests
New combo API that runs all combo instances in a shared javac context (whenever possible).

Reviewed-by: jjg, jlahoda, vromero
2015-08-31 17:33:34 +01:00
Andreas Lundblad
8d0ebb66bd 8133671: langtools tests have bad license
Dropped classpath exception from copyright notice in tests.

Reviewed-by: jjg
2015-08-26 09:02:02 +02:00
Aleksey Shipilev
d2e6717c87 8134329: TeeOpTest.java fails across platforms after fix for JDK-8129547
Wrong indexes associated to CONSTANT_InvokeDynamic_info entries.

Reviewed-by: sundar
2015-08-25 15:10:25 +01:00
Vicente Romero
8a2078e8a3 8053906: javac is accepting a self-referencing variable initializer inside a lambda expression
Reviewed-by: jlahoda
2015-08-10 18:10:18 -07:00
Maurizio Cimadamore
7baee75969 8131742: Syntactically meaningless code accepted by javac
Receiver parameter logic for type annotations should be disabled when parsing lambda formals

Reviewed-by: jlahoda
2015-07-30 13:24:35 +01:00
Srikanth Adayapalam
63b337e82e 8076538: Verify error at runtime due to incorrect classification of a lambda as being instance capturing
Reviewed-by: mcimadamore
2015-06-23 17:46:23 +05:30
Srikanth Adayapalam
1a5f839adc 8077667: 'variable may not have been initialized' error for parameter in lambda function
JDK-8077667: Fix bogus diagnostic about lambda parameter not being initialized

Reviewed-by: mcimadamore
2015-05-30 06:17:50 +05:30
Srikanth Adayapalam
4815781a4a 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
Missing enclosing instance error should not be swallowed when attributing constructor reference expressions.

Reviewed-by: mcimadamore, vromero
2015-05-29 09:15:42 +05:30
Mandy Chung
ab120497cf 8074432: Move jdeps and javap to jdk.jdeps module
Reviewed-by: jjg, alanb, erikj
2015-05-27 13:25:18 -07:00
Alexander Kulyakhtin
b6262441ad 8076543: Add @modules as needed to the langtools tests
Reviewed-by: jjg, shurailine
2015-05-21 11:41:04 -07:00
Jan Lahoda
1867d1a236 8080338: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
8080339: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
8080340: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle

Fixing incorrect file headers; also reviewed by kevin.l.brown@oracle.com

Reviewed-by: vromero
2015-05-18 09:27:09 +02:00
Jan Lahoda
b97b136530 8077605: Initializing static fields causes unbounded recursion in javac
Improving detection of potential constant variable initializers; preventing infinite recursion on exception during Attr.visitLambda.

Reviewed-by: mcimadamore, vromero
2015-04-27 16:31:29 +02:00
Vicente Romero
4693c79e67 8078433: javac, some tests are failing after JDK-8078024 because of golden files mismatch
Reviewed-by: darcy
2015-04-22 11:39:06 -07: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
Andrey Nazarov
15d5184652 8075752: jdk.compiler dependency can be eliminated in MethodReferenceNullCheckTest.java
Reviewed-by: jjg
2015-03-30 16:38:59 +01: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
Vicente Romero
38527cecd5 8075184: javac is mistakenly considering an missing enclosing instance error as an overload error
Reviewed-by: mcimadamore
2015-03-27 10:11:21 -07:00
Jan Lahoda
31a45d5c86 8054220: Debugger doesn't show variables *outside* lambda
8058227: Debugger has no access to outer variables inside Lambda

Put local variables captured by lambda into the lambda method's LocalVariableTable.

Reviewed-by: mcimadamore, rfield
2015-03-26 11:34:50 +01:00
Maurizio Cimadamore
c03dd06d9a 8074381: java.lang.AssertionError during compiling
Add extra functional interface check to prevent crash during code generation

Reviewed-by: vromero
2015-03-19 11:39:36 +00:00
Maurizio Cimadamore
7b2bf7805a 8073842: Invalid method reference when referencing a method on a wildcard type
Method rteference lookup logic doesn't skip type-variables as required by javac.

Reviewed-by: jlahoda
2015-02-27 18:20:33 +00:00
Srikanth Adayapalam
31b752c691 8073201: Incorrect @bug annotation in checkin for JDK-8069545
Reviewed-by: mcimadamore
2015-02-16 19:14:18 +05:30
Srikanth Adayapalam
cb2a21c5a5 8069545: javac shouldn't check nested stuck lambdas during overload resolution
Nested lambdas should not be considered while overload resolution is in progress

Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: mcimadamore
2015-02-12 10:16:19 +05:30
Maurizio Cimadamore
dbe88a2ef1 8072445: tools/javac/lambda/MethodReference55.java fails across platforms
Remove copyright from test header

Reviewed-by: jlahoda
2015-02-05 18:51:09 +00:00
Srikanth Adayapalam
25c0dd9958 8071310: Tests missing for checkin for JDK-8046977
Reviewed-by: jlahoda
2015-01-22 09:50:03 +01:00
Joel Borggrén-Franck
4b78cb3eb7 8070507: LambdaLambdaSerialized can fail in -agentvm mode
Reviewed-by: mcimadamore
2015-01-21 19:02:20 +01:00
Maurizio Cimadamore
82db21e08d 8068995: Cleanup method reference lookup code
Simplify method reference code lookup and generate better/more uniform diagnostics

Reviewed-by: vromero
2015-01-15 13:58:11 +00:00
Srikanth Adayapalam
5cb253a2e9 8068254: Method reference uses wrong qualifying type
Generated code fails with IllegalAccessError due to compiler's mishandling of packageprivate classes in method reference expressions.

Reviewed-by: rfield, mcimadamore
2015-01-13 10:32:19 +01:00
Maurizio Cimadamore
c269c9451b 8066974: Compiler doesn't infer method's generic type information in lambda body
Add loghic to avoid post-inference triggers on temporarty AST types

Reviewed-by: jlahoda, vromero
2014-12-18 13:21:44 +00:00
Maurizio Cimadamore
41070244c9 8067792: Javac crashes in finder mode with nested implicit lambdas
Revert tree changes occurred in Attr before running the analyzer

Reviewed-by: jlahoda
2014-12-17 16:47:56 +00:00
Jan Lahoda
627ce960f5 8067422: Lambda method names are unnecessarily unstable
Lambda method numbers are now assigned per class for non-serializable lambdas.

Reviewed-by: mcimadamore, rfield
2014-12-17 12:49:57 +01:00
Maurizio Cimadamore
eb3798a14a 8067663: Add bugId to tests that have been modified as part of JDK-8064365
Add missing bug id to modified tests

Reviewed-by: jlahoda
2014-12-16 13:44:22 +00:00
Maurizio Cimadamore
3076062240 8064365: Better support for finder capabilities in target-typing context
Add new framework to allow for easy creation of finder-like capabilities.

Reviewed-by: jjg, jlahoda
2014-12-12 18:07:24 +00:00
Jan Lahoda
59b3453845 8061549: Disallow _ as a one-character identifier
Underscore is no longer a one-charater identifier with -source 9

Reviewed-by: mcimadamore, jjg
2014-12-08 18:02:07 +01:00
Robert Field
634c33938c 8058112: Invalid BootstrapMethod for constructor/method reference
Bridge method references with functional interface method parameters of intersection type

Reviewed-by: vromero, dlsmith
2014-11-24 14:52:46 -08:00
Vicente Romero
60113dc1ba 8063052: Inference chokes on wildcard derived from method reference
Reviewed-by: mcimadamore
2014-11-20 14:05:39 -08:00
Jonathan Gibbons
a75d2dbd39 8062676: Tests which leak lots of file managers should be fixed (group 2)
Reviewed-by: darcy
2014-11-05 19:12:45 -08:00
Jonathan Gibbons
8bd23f1681 8062348: langtools tests should close file manager (group 1)
Reviewed-by: darcy
2014-10-29 17:25:23 -07:00
Vicente Romero
96941c8951 8057800: Method reference with generic type creates NPE when compiling
Reviewed-by: mcimadamore, dlsmith
2014-10-23 10:42:44 -07:00
Robert Field
e55ca9fc58 8056051: int[]::clone causes "java.lang.NoClassDefFoundError: Array"
Reviewed-by: mcimadamore, vromero
2014-10-04 10:13:11 -07:00
Jan Lahoda
c30ea9e1d2 8057794: Compiler Error when obtaining .class property
Ensuring a non-null type and sym for illegal T.class to prevent downstream errors.

Reviewed-by: mcimadamore
2014-09-22 14:55:14 +02:00
Jan Lahoda
f211cac0cd 8056984: Exception in compiler: java.lang.AssertionError: isSubClass T
Must use type variable's captured bound as a method receiver, instead of the type variable itself, while checking if deferred attribution is needed.

Reviewed-by: mcimadamore, vromero
2014-09-08 10:50:59 +02:00
Jan Lahoda
49469c49d0 8056014: Type inference may be skipped for a complex receiver generic method in a parameter position
When checking if deferred attribution is needed for a chain of methods, stop on any method that returns any type variable, as the rest of analysis cannot use the correct type.

Reviewed-by: mcimadamore, vromero
2014-09-08 10:48:18 +02:00
Jonathan Gibbons
33e6564a6b 8050429: Update/cleanup ToolBox
Reviewed-by: vromero
2014-08-13 13:20:31 -07:00
Maurizio Cimadamore
560c7c91fe 8051958: Cannot assign a value to final variable in lambda
Remove Attr.owner and refactor code for detecting forward field references

Reviewed-by: vromero
2014-07-29 15:31:57 -07:00
Vicente Romero
5916a0adfa 8033483: Should ignore nested lambda bodies during overload resolution
Reviewed-by: mcimadamore, dlsmith
2014-07-09 10:49:32 -04:00
Robert Field
30f70a0e1d 8048121: javac complex method references: revamp and simplify
8038776: VerifyError when running successfully compiled java class

Add tests missing from the push of 8037404

Reviewed-by: dlsmith, vromero
2014-06-25 11:22:27 -07:00