Commit Graph

63 Commits

Author SHA1 Message Date
Robert Field
46e9ef69a7 8010010: NPE generating serializedLambdaName for nested lambda
Reviewed-by: mcimadamore
2013-03-14 22:54:17 -07:00
Maurizio Cimadamore
22e2c128a2 8009545: Graph inference: dependencies between inference variables should be set during incorporation
Move all transitivity checks into the incorporation round

Reviewed-by: jjg
2013-03-12 16:02:43 +00:00
Maurizio Cimadamore
69ee819808 8008540: Constructor reference to non-reifiable array should be rejected
8008539: Spurious error when constructor reference mention an interface type
8008538: Constructor reference accepts wildcard parameterized types

Overhaul of Check.checkConstructorRefType

Reviewed-by: jjg
2013-03-12 16:02:13 +00:00
Robert Field
41447ec765 8009742: Bad lambda name for lambda in a static initializer or ctor
Reviewed-by: mcimadamore
2013-03-11 10:02:55 -07:00
Robert Field
867e1720c2 8009582: Method reference generic constructor gives: IllegalArgumentException: Invalid lambda deserialization
Reviewed-by: mcimadamore
2013-03-07 08:26:13 -08:00
Maurizio Cimadamore
c9bae7b335 8009299: Javac crashes when compiling method reference to static interface method
Assertion in Check.checMethod is too strict

Reviewed-by: jjg
2013-03-06 15:29:30 +00: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
7a28d6291d 8009154: Missing cast in method reference bridge leads to NoSuchMethodError
Missing cast in generated method reference bridge

Reviewed-by: rfield, jjg
2013-03-05 14:16:07 +00:00
Maurizio Cimadamore
3cbe22f256 8009227: Certain diagnostics should not be deferred
Add new diagnostic flag to mark non deferrable diagnostics

Reviewed-by: jjg
2013-03-05 14:12:07 +00:00
Maurizio Cimadamore
d0a0df54ed 8004962: Code generation crash with lambda and local classes
Translation info should be propagated from LambdaToMethod to Lower

Reviewed-by: jjg, rfield
2013-03-05 14:04:57 +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
Maurizio Cimadamore
85067f7869 8008813: Structural most specific fails when method reference is passed to overloaded method
Bad logic for checking most specific method reference type

Reviewed-by: jjg
2013-02-28 14:05:44 +00:00
Maurizio Cimadamore
9c01455eb6 8008723: Graph Inference: bad graph calculation leads to assertion error
Dependencies are not propagated correctly through merged nodes during inference graph initialization

Reviewed-by: jjg
2013-02-28 14:00:52 +00:00
Maurizio Cimadamore
7776fdebe7 8008708: Regression: separate compilation causes crash in wildcards inference logic
Invalid use of WildcardType.bound in Types.removeWildcards

Reviewed-by: jjg
2013-02-22 18:19:51 +00:00
Sonali Goel
96495bc664 8008337: Write test to check for compiler error when static method in interface is called via super()
Reviewed-by: mcimadamore
2013-02-22 13:31:35 +00:00
Robert Field
bcaa703a49 8008405: Now that metafactory is in place, add javac lambda serialization tests
Tests part of original langtools serialization review.

Reviewed-by: mcimadamore
2013-02-21 14:43:51 -08:00
Maurizio Cimadamore
73b1aee3f4 8008444: Inherited generic functional descriptors are merged incorrectly
Missing call to Types.createMethodWithThrownTypes

Reviewed-by: jjg
2013-02-21 15:27:05 +00:00
Maurizio Cimadamore
8c1621ee38 8008293: Declared bounds not considered when functional interface containing unbound wildcards is instantiated
Wildcards inference should re-use some of the bounds info generated during capture conversion

Reviewed-by: jjg
2013-02-21 15:25:03 +00:00
Maurizio Cimadamore
5bbf5f39fc 8005183: Missing accessor for constructor reference pointing to private inner class ctor
Compiler should add bridges when translating private constructor reference

Reviewed-by: jjg
2013-02-21 15:23:48 +00:00
Maurizio Cimadamore
937b7d2fba 8008276: assertion error in com.sun.tools.javac.comp.TransTypes.visitApply
DiagnosticFilter used during speculative attribution is too broad

Reviewed-by: jjg
2013-02-21 15:21:38 +00:00
Maurizio Cimadamore
eb68b33185 8008227: Mixing lambdas with anonymous classes leads to NPE thrown by compiler
Disentangle cyclic dependency between static-ness of synthetic lambda method and static-ness of classes nested within lambdas

Reviewed-by: jjg
2013-02-21 15:19:29 +00:00
Robert Field
b2a3c762ff 8004969: Generate $deserializeLambda$ method
8006763: super in method reference used in anonymous class - ClassFormatError is produced
8005632: Inner classes within lambdas cause build failures
8005653: Lambdas containing inner classes referencing external type variables do not correctly parameterize the inner classes

Reviewed-by: mcimadamore
2013-02-15 18:40:38 -08:00
Maurizio Cimadamore
fd17a4290b 8008309: TargetType60 fails because of bad golden file
Bad golden file

Reviewed-by: jjg
2013-02-15 18:13:00 +00:00
Sonali Goel
30058417e1 8007427: Annotation element as '_' gives compiler error instead of a warning
8007401: Write test to check for generation of warnings when '_' is used as an identifier

Extended identifier production not used in annotation values

Reviewed-by: jjg
2013-02-15 16:31:19 +00:00
Maurizio Cimadamore
f5df2a2562 8007535: Compiler crashes on @FunctionalInterface used on interface with two inherited methods with same signatures
Bad check in Types.interfaceCandidates

Reviewed-by: jjg
2013-02-15 16:30:31 +00: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
e88e06a5e0 8007285: AbstractMethodError instead of compile-time error when method reference with super and abstract
Missing abstractness check on super rmethod references

Reviewed-by: jjg
2013-02-15 16:28:57 +00:00
Maurizio Cimadamore
f8f9896cc7 8006749: compiler does not allow Object protected methods to be used in lambda
Check.checkFunctionalInterface should take into account 'fake' override

Reviewed-by: jjg
2013-02-15 16:28:07 +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
Jim Holmlund
8985a7c2ac 8007504: Remove @ignore from tests that no longer need it
Reviewed-by: mcimadamore
2013-02-05 18:55:13 +00:00
Maurizio Cimadamore
5b1a78dc92 8006694: temporarily workaround combo tests are causing time out in several platforms
Reviewed-by: jjg
2013-01-23 20:57:40 +00:00
Maurizio Cimadamore
1f8b2abf80 8006684: Compiler produces java.lang.VerifyError: Bad type on operand stack
Lambda desugaring generates spurious references to 'this' in static contexts

Reviewed-by: jjg
2013-01-22 16:39:51 +00:00
Maurizio Cimadamore
948888218b 8006673: TargetType52 fails because of bad golden file
Fix golden file in negative test

Reviewed-by: jjg
2013-01-22 16:23:35 +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
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
Maurizio Cimadamore
0a95b1d28c 8005852: Treatment of '_' as identifier
Warn when '_' is found in an identifier position

Reviewed-by: jjg
2013-01-17 18:15:20 +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
Maurizio Cimadamore
d19bc80ca1 8005854: Add support for array constructor references
Support constructor references of the kind int[]::new

Reviewed-by: jjg
2013-01-16 16:27:01 +00:00
Vicente Romero
9d4f6a0ebe 8005167: execution time of combo tests in javac should be improved
Reviewed-by: jjg, jjh
2013-01-08 13:47:57 +00:00
Maurizio Cimadamore
c932023b04 8005179: Cleanup Resolve.AmbiguityError
Linearize nested ambiguity errors

Reviewed-by: jjg
2013-01-08 10:16:26 +01:00
Lana Steuck
f2c7a7867a Merge 2012-12-28 18:39:09 -08:00
David Katleman
8208c844dd 8004982: JDK8 source with GPL header errors
Reviewed-by: ohair
2012-12-20 16:24:18 -08:00
Maurizio Cimadamore
2296453268 8005193: New regression test test/tools/javac/lambda/BadMethodCall2.java fails
Bad golden file in negative test

Reviewed-by: jjh
2012-12-18 22:16:45 +00:00
Maurizio Cimadamore
08823b6103 8004099: Bad compiler diagnostic generated when poly expression is passed to non-existent method
Some code paths in resolve do not use methodArguments to correctly format actuals

Reviewed-by: jjg
2012-12-17 16:13:01 +00:00
Vicente Romero
c1804d6409 8000518: Javac generates duplicate name_and_type constant pool entry for class BinaryOpValueExp.java
Reviewed-by: jjg, mcimadamore
2012-12-15 13:54:51 +00:00
Maurizio Cimadamore
d7884e5ae2 8002099: Add support for intersection types in cast expression
Add parser and type-checking support for intersection types in cast expressions

Reviewed-by: jjg
2012-11-30 15:14:48 +00:00
Maurizio Cimadamore
c76c08e82a 8004101: Add checks for method reference well-formedness
Bring method reference type-checking in sync with latest EDR

Reviewed-by: jjg
2012-11-30 15:14:36 +00:00
Maurizio Cimadamore
0db60b7bb2 8004102: Add support for generic functional descriptors
Method references are allowed to have a generic functional interface descriptor target

Reviewed-by: jjg
2012-11-30 15:14:25 +00:00
Maurizio Cimadamore
684271da34 8004105: Expression statement lambdas should be void-compatible
Fix lambda compatibility rules as per latest EDR

Reviewed-by: jjg
2012-11-30 15:14:12 +00:00