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
Robert Field
5fad815dec
8046060: Different results of floating point multiplication for lambda code block
...
Propogate strictfp into lambda body
Reviewed-by: vromero, jlahoda
2014-06-20 10:56:47 -07:00
Vicente Romero
d7c001dd04
8042759: Lambda returning implicitly-typed lambdas considered pertinent to applicability
...
Reviewed-by: mcimadamore
2014-06-19 23:52:33 +01:00
Vicente Romero
5b199f3cb8
8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
...
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Reviewed-by: mcimadamore
2014-06-19 15:39:37 +01:00
Jan Lahoda
2f910049e8
8031967: For some sources compiler compiles for ever
...
Avoid creating DeferredTypes for method calls with method calls as receivers if the site can be determined reliably
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Reviewed-by: mcimadamore, vromero
2014-05-30 12:54:16 +02:00
Paul Govereau
649331e00f
8041704: wrong error message when mixing lambda expression and inner class
...
Reviewed-by: vromero
2014-05-27 18:57:44 +01:00
Sonali Goel
378c3fe62f
8043336: Missing bug id in test/tools/javac/lambda/TargetType23.java
...
Reviewed-by: jjg, vromero, dlsmith
2014-05-22 15:42:10 -07:00
Dan Smith
9798cbad4c
8034223: Most-specific should not have any special treatment for boxed vs. unboxed types
...
Rewrite most-specific logic to conform to JLS 8 15.12.2.5
Reviewed-by: vromero
2014-05-13 15:29:09 -06:00
Vicente Romero
9cf78d324c
8028503: javac, for method references a primitive type can be added as a bound
...
Reviewed-by: jjg, dlsmith
2014-05-10 01:24:35 +01:00
Robert Field
89be14bfe5
8029852: Bad code generated (VerifyError) when lambda instantiates enclosing local class and has captured variables
...
8029725: Lambda reference to containing local class causes javac infinite recursion
Reviewed-by: vromero, jlahoda, dlsmith
2014-04-30 23:02:14 -07:00
Robert Field
e8adfd1234
8036942: javac generates incorrect exception table for multi-catch statements inside a lambda
...
Union type info lost and also union type is not processed by TreeMaker.Type -- address by using existing tree, thus by-passing such issues.
Reviewed-by: vromero, jlahoda
2014-04-30 18:19:23 -07: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
Robert Field
360461f136
8038420: Lambda returning post-increment generates wrong code
...
Reviewed-by: vromero, jlahoda
2014-04-15 15:55:24 -07:00
Robert Field
300fbf0889
8037935: Javac -- final local String var referenced in binary/unary op in lambda produces code that does not verify
...
Remove over-zealous Attr optimization breaking lambdas
Reviewed-by: jjg, vromero
2014-04-15 15:52:52 -07:00
Alexander Zuev
d9d9742c75
8031425: Two langtools/javac tests fail by timeout on Windows
...
Reviewed-by: jjg, vromero
2014-04-01 10:00:43 -07:00
Matherey Nunez
69f2f2fad4
8027175: Existing regression tests in tl/langtools and tl/jdk need to be updated for @bug keyword
...
Reviewed-by: jjg, ksrini
2014-01-27 12:45:03 -08:00
Abhijit Saha
69a1d18d40
Merge
2014-01-16 21:46:01 -08:00
Joe Darcy
87dec1fa1a
8031745: Remove unneeded/obsolete -source/-target options in javac tests, part 1
...
Reviewed-by: jjg, sogoel
2014-01-16 18:00:25 -08:00
Abhijit Saha
c575ece03d
Merge
2014-01-14 08:08:32 -08: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
Robert Field
8d4ba575b6
8030626: java.lang.VerifyError: Bad return type when lambda's body is in parentheses
...
Properly type convert the body of a lambda expression (forward port to JDK9 of 8029558)
Reviewed-by: vromero
2013-12-22 21:57:01 -08:00
Vicente Romero
6255412f38
8029721: javac crash for annotated parameter type of lambda in a field
...
Reviewed-by: rfield, jfranck
2013-12-18 19:22:58 +00:00
Jan Lahoda
0f0e04b6a0
8028235: Better error recovery for parsing 'void' as a type of the lambda parameter
...
Handle "void" as a primitive type in JavacParser.analyzeParens.
Reviewed-by: vromero
2013-12-17 10:58:26 +01:00
Robert Field
14ae524304
8028739: javac generates incorrect descriptor for MethodHandle::invoke
...
Introduce special handling for signature polymorphic methods
Reviewed-by: jjg
2013-11-22 17:07:35 -08:00
Vicente Romero
e6e0508e1a
8026231: Look at 'static' flag when checking method references
...
Reviewed-by: jjg, dlsmith
2013-11-15 11:08:12 +00:00
Jan Lahoda
d3eb4e0816
8027142: Invokedynamic instructions don't get line number table entries
...
When emitting invokedynamic instruction, write pendingStatPos, if set, into the LineNumberTable. Invokedynamic itself does not set the pendingStatPos.
Reviewed-by: jjg, jrose, ksrini, vromero
2013-11-09 15:24:38 +01:00
Robert Field
c9ceea7ac7
8022720: Method refeerences - private method should be accessible (nested classes)
...
Reviewed-by: jjg, ksrini
2013-10-23 10:28:10 -07:00
Robert Field
69709943c3
8023668: Desugar serializable lambda bodies using more robust naming scheme
...
Lambda / bridged method-reference naming overhaul
Reviewed-by: ksrini, briangoetz
2013-10-22 16:53:21 -07:00
Vicente Romero
48b6b38e52
8025290: javac implicit versus explicit lambda compilation error
...
Reviewed-by: jjg, dlsmith
2013-10-22 13:54:49 +01:00
Vicente Romero
43754fccbd
8026956: test tools/javac/lambda/TargetType58.java is failing after a libs change
...
Reviewed-by: jfranck
2013-10-21 15:55:02 +01:00