125 Commits

Author SHA1 Message Date
Steve Sides
12a8d12863 7191449: update copyright year to match last edit in jdk8 langtools repository
Reviewed-by: jjh
2012-08-15 13:48:46 -07:00
Maurizio Cimadamore
b03ad3ae09 7175911: Simplify error reporting API in Check.CheckContext interface
Make error messages generated during Check.checkType more uniform and more scalable

Reviewed-by: jjg, dlsmith
2012-08-02 18:22:41 +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
Sue Wei
3d77d813ce 7157798: Add 6 test scenarios for testing inheritance of multiple same-name methods from mulitple interfaces
Reviewed-by: mcimadamore
2012-05-21 16:10:14 -07: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
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
Maurizio Cimadamore
f6ee974ac7 7151802: compiler update caused sqe test failed
Fix regression caused by 7144506

Reviewed-by: jjg, dlsmith
2012-03-09 17:10:56 +00:00
Maurizio Cimadamore
271ed603e1 7148556: Implementing a generic interface causes a public clone() to become inaccessible
Implementation of Resolve.isOverriddenIn() should distinguish between classes/interfaces

Reviewed-by: jjg
2012-03-06 16:50:32 +00:00
Maurizio Cimadamore
6acf436edc 7151070: NullPointerException in Resolve.isAccessible
Spurious accessibility check in TransTypes

Reviewed-by: jjg
2012-03-06 16:48:29 +00:00
Maurizio Cimadamore
d5036d16cd 7144506: Attr.checkMethod should be called after inference variables have been fixed
Unify post-inference sanity check with Attr.checkMethod

Reviewed-by: jjg, dlsmith
2012-03-06 13:28:05 +00:00
Maurizio Cimadamore
b10e766b73 7148242: Regression: valid code rejected during generic type well-formedness check
Redundant type-var substitution makes generic-type well-formedness check to fail

Reviewed-by: jjg
2012-03-02 12:57:47 +00:00
Jonathan Gibbons
42b9d6bc2e 7124605: typos in javac comments
Reviewed-by: ksrini
2011-12-23 22:30:33 +00:00
Maurizio Cimadamore
4ac518143c 7115050: Add parser support for lambda expressions
Add support for parsing lambda expressions to JavacParser

Reviewed-by: jjg
2011-11-28 15:56:42 +00:00
Maurizio Cimadamore
bd420dc94e 7086586: Inference producing null type argument
Inference should fail in 15.12.2.7 when inference variables with 'nulltype' upper bounds are found

Reviewed-by: dlsmith
2011-09-16 14:16:11 +01:00
Maurizio Cimadamore
08619c2e9c 7086601: Error message bug: cause for method mismatch is 'null'
Inference error during lub() does not set 'cause' for method resolution diagnostic

Reviewed-by: jjg
2011-09-13 14:15:39 +01:00
Maurizio Cimadamore
8db2f8de59 7086595: Error message bug: name of initializer is 'null'
Implementation of MethodSymbol.location() should take into account static/instance initializers

Reviewed-by: jjg
2011-09-13 14:14:57 +01:00
Maurizio Cimadamore
5c209a7d2d 7057297: Project Coin: diamond erroneously accepts in array initializer expressions
Diamond in array initializer expressions should be rejected

Reviewed-by: jjg
2011-07-27 19:01:33 +01:00
Maurizio Cimadamore
02802c9449 7046778: Project Coin: problem with diamond and member inner classes
Diamond inference generates spurious error messages when target type is a member inner class

Reviewed-by: jjg
2011-07-27 19:01:08 +01:00
Maurizio Cimadamore
af30a2dbf3 7062745: Regression: difference in overload resolution when two methods are maximally specific
Fix most specific when two methods are maximally specific and only one has non-raw return type

Reviewed-by: jjg, dlsmith
2011-07-27 19:00:53 +01:00
Maurizio Cimadamore
fbecf91f80 7040883: Compilation error: "length in Array is defined in an inaccessible class or interface"
Fix of 7034511 (now backed out) is causing spurious accessibility errors

Reviewed-by: jjg
2011-05-02 12:05:41 +01:00
Maurizio Cimadamore
fcbd7a77c4 7039931: Project Coin: diamond inference fail with generic constructor explicit type-arguments
Diamond should be disallowed in cases where explicit generic constructor parameters are specified

Reviewed-by: jjg
2011-04-30 11:57:46 +01:00
Maurizio Cimadamore
7fb85c5cef 7034495: Javac asserts on usage of wildcards in bounds
Problem with intersection types and wildcards causing javac to crash

Reviewed-by: jjg
2011-04-29 16:05:56 +01:00
Maurizio Cimadamore
02daeca60e 7034019: ClassCastException in javac with conjunction types
Resolve.mostSpecific doesn't handle case of raw override

Reviewed-by: dlsmith
2011-04-12 20:58:06 -07:00
Maurizio Cimadamore
c46387423a 7034511: Loophole in typesafety
Type-variable substutution takes upper bound of replaced captured type-variable

Reviewed-by: dlsmith
2011-04-12 20:56:16 -07:00
Maurizio Cimadamore
bd9526ecbe 7030150: Type inference for generic instance creation failed for formal type parameter
Problem when explicit generic constructor type-arguments are used in conjunction with diamond

Reviewed-by: jjg
2011-03-29 16:40:51 +01:00
Maurizio Cimadamore
0a0b5a7a8a 7030687: Diamond: compiler accepts erroneous code where diamond is used with non-generic inner class
Diamond accepts non-parameterized member inner classes with parameterized outer because of a bad check

Reviewed-by: jjg
2011-03-29 16:40:07 +01: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
f416cac815 7022054: Invalid compiler error on covariant overriding methods with the same erasure
Rules for method clash use notion of subsignature, which is sometimes too strict and incompatible with JDK 6

Reviewed-by: jjg
2011-03-03 17:34:58 +00:00
Maurizio Cimadamore
1683dd4109 7015715: lub gets stuck on type with complex supertype
Lub should not scan supertypes unnecessarily

Reviewed-by: jjg, dlsmith
2011-02-28 11:50:56 +00:00
Maurizio Cimadamore
32216fc797 7015430: Incorrect thrown type determined for unchecked invocations
Thrown types do not get updated after 15.12.2.8, and do not get erased as per 15.12.2.6

Reviewed-by: jjg, dlsmith
2011-02-28 11:48:53 +00:00
Maurizio Cimadamore
7186448cfe 7019631: issues in test headers in b130
Fix to test headers not containing correct bug ID

Reviewed-by: jjg
2011-02-23 14:17:08 +00:00
Maurizio Cimadamore
1ae687fbd2 7020657: Javac rejects a fairly common idiom with raw override and interfaces
Name clash should not be reported if subinterface/implementing class resolves the clash by defining common overrider

Reviewed-by: jjg
2011-02-23 14:16:12 +00:00
Maurizio Cimadamore
7d8c3e9460 7020043: Project Coin: diamond allowed on non-generic type
Diamond oerator should be disallowed on non-generic class types (i.e. String)

Reviewed-by: jjg
2011-02-18 12:28:49 +00:00
Maurizio Cimadamore
dfec6e2301 7007615: java_util/generics/phase2/NameClashTest02 fails since jdk7/pit/b123
Override clash algorithm is not implemented correctly

Reviewed-by: jjg
2011-02-07 18:10:13 +00:00
Maurizio Cimadamore
f4daf3d7bf 7014715: javac returns different error code for certain failure(s)
Javac silently crashes when emitting certain kinds of resolution diagnostics

Reviewed-by: jjg
2011-02-03 09:38:19 +00:00
Maurizio Cimadamore
536bd08692 6969184: poor error recovery after symbol not found
Generic type-well formedness check should ignore erroneous symbols

Reviewed-by: jjg
2011-02-03 09:37:28 +00:00
Maurizio Cimadamore
15959fbf11 6838943: inference: javac is not handling type-variable substitution properly
Free type-variables are being replaced with type-variables bound to forall type leading to unsoundness

Reviewed-by: jjg, dlsmith
2011-01-28 12:06:21 +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
6647b73cc8 6910550: javac 1.5.0_17 fails with incorrect error message
Multiple clashing members declared in same class should be added to the class' scope in order to avoid downstream spurious diagnostics

Reviewed-by: jjg
2011-01-28 12:01:07 +00:00
Maurizio Cimadamore
b77effad6c 6968793: issues with diagnostics
Several diagnostic improvements

Reviewed-by: jjg
2011-01-24 15:44:51 +00:00
Maurizio Cimadamore
df54c56a04 6943278: spurious error message for inference and type-variable with erroneous bound
Type-inference should ignore erroneous bounds

Reviewed-by: jjg
2011-01-24 15:44:15 +00:00
Kelly O'Hair
84b5875f26 6962318: Update copyright year
Reviewed-by: xdono
2010-12-28 15:54:52 -08:00
Maurizio Cimadamore
929d3fd3f5 6476118: compiler bug causes runtime ClassCastException for generics overloading
Compiler allows bridge methods to override unrelated method

Reviewed-by: jjg
2010-12-09 15:50:34 +00:00
Maurizio Cimadamore
8644a0bc46 7002837: Diamond: javac generates diamond inference errors when in 'finder' mode
Javac should disable error messages when analyzing instance creation expression in 'diamond finder' mode

Reviewed-by: jjg
2010-12-03 16:32:31 +00:00
Maurizio Cimadamore
7613f7a72c 6956758: NPE in com.sun.tools.javac.code.Symbol - isSubClass
Use of TransTypes.cast() instead of TransTypes.coerce() causes NPE in Lower

Reviewed-by: jjg
2010-12-03 16:31:23 +00:00
Maurizio Cimadamore
3e65664acf 6995200: JDK 7 compiler crashes when type-variable is inferred from expected primitive type
15.12.2.8 should use boxing when expected type in assignment context is a primitive type

Reviewed-by: jjg
2010-11-23 11:08:43 +00:00
Maurizio Cimadamore
3a681162e4 6985719: Alike methods in interfaces (Inheritance and Overriding)
Javac should report error when interface inherits unrelated method with same erasure

Reviewed-by: jjg
2010-11-15 13:50:53 +00:00
Maurizio Cimadamore
83fb083bfa 6996914: Diamond inference: problem when accessing protected constructor
Special resolution scheme for diamond inference needs to open up protected constructors in anon inner class creation

Reviewed-by: jjg
2010-11-10 12:37:25 +00:00
Maurizio Cimadamore
9b7bc21bb0 6939780: add a warning to detect diamond sites
Added hidden compiler flag '-XDfindDiamond' to detect 'diamondifiable' sites

Reviewed-by: jjg
2010-11-02 12:01:35 +00:00
Maurizio Cimadamore
ac9f97939f 6996415: Override bridges causes compiler-generated code to end up with synthetic infinite loop
Temporarily disable fix for override bridges (6337171)

Reviewed-by: jjg
2010-11-02 12:00:54 +00:00