42 Commits

Author SHA1 Message Date
Maurizio Cimadamore
319150fde0 7177386: Add attribution support for method references
Add type-checking/lookup routines for method references

Reviewed-by: jjg, dlsmith
2012-10-06 10:35:38 +01:00
Maurizio Cimadamore
f49f25c60d 7177306: Regression: unchecked method call does not erase return type
Spurious extra call to Attr.checkMethod when method call is unchecked

Reviewed-by: jjg, dlsmith
2012-09-25 11:56:46 +01:00
Maurizio Cimadamore
d4c5fca16a 7175433: Inference cleanup: add helper class to handle inference variables
Add class to handle inference variables instantiation and associated info

Reviewed-by: jjg, dlsmith
2012-09-25 11:55:34 +01: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
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
Jonathan Gibbons
42b9d6bc2e 7124605: typos in javac comments
Reviewed-by: ksrini
2011-12-23 22:30:33 +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
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
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
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
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
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
Lana Steuck
78db31beb6 Merge 2010-09-25 12:02:32 -07:00
Maurizio Cimadamore
cd3371e702 5088624: cannot find symbol message should be more intelligent
Resolve.java should keep track of all candidates found during a method resolution sweep to generate more meaningful diagnostics

Reviewed-by: jjg
2010-09-18 09:56:23 -07:00
Kelly O'Hair
fd65dbfc50 6982137: Rebranding pass 2 - missed copyright changes
Reviewed-by: mbykov
2010-09-09 16:29:40 -07:00
Maurizio Cimadamore
2801325742 6369605: Unconstrained type variables fails to include bounds
Unconstrained type-variables with recursive bounds are not inferred properly

Reviewed-by: jjg
2010-08-16 14:58:10 +01:00
Maurizio Cimadamore
541f7a7a41 6938454: Unable to determine generic type in program that compiles under Java 6
A redundant dubtyping check causes spurious inference failure

Reviewed-by: jjg
2010-07-29 15:56:25 +01:00
Jonathan Gibbons
ccd014ed3f 6971882: Remove -XDstdout from javac test
Reviewed-by: darcy
2010-07-26 14:18:45 -07:00
Kelly O'Hair
bd4f4be9d7 6943119: Rebrand source copyright notices
Reviewed-by: darcy
2010-05-25 15:54:51 -07:00
Jonathan Gibbons
2ed0d63583 6933914: fix missing newlines
Reviewed-by: ohair
2010-03-10 16:23:18 -08:00
Xiomara Jayasena
dbe66b7524 6884624: Update copyright year
Update copyright for files that have been modified in 2009 through Septermber

Reviewed-by: tbell, ohair
2009-09-22 14:06:29 -07:00
Maurizio Cimadamore
1de40db76d 6650759: Inference of formal type parameter (unused in formal parameters) is not performed
Propagate inference constraints from 15.12.2.7 to 15.12.2.8

Reviewed-by: jjg
2009-09-01 14:53:39 +01:00
Jonathan Gibbons
af2f2e8d36 6875336: some tests should use /nodynamiccopyright/
Reviewed-by: darcy
2009-08-27 11:08:27 -07:00
Maurizio Cimadamore
3b51e6ae0d 6638712: Inference with wildcard types causes selection of inapplicable method
Added global sanity check in order to make sure that return type inference does not violate bounds constraints

Reviewed-by: jjg
2009-06-16 10:46:37 +01:00
Maurizio Cimadamore
fda3d758e3 6835428: regression: return-type inference rejects valid code
Redundant subtyping test during type-inference ends up in rejecting legal code

Reviewed-by: jjg
2009-06-16 10:46:16 +01:00
Jonathan Gibbons
6fb18b568c 6802102: unignore @ignored tests where possible
Reviewed-by: mcimadamore
2009-05-28 09:49:56 -07:00
Maurizio Cimadamore
198f2427b4 6769027: Source line should be displayed immediately after the first diagnostic line
Added support for customizing diagnostic output via API/command line flags

Reviewed-by: jjg
2009-02-13 11:57:33 +00:00
Maurizio Cimadamore
552a7a0e19 6315770: javac inference allows creation of strange types: Integer & Runnable
Javac does not apply glb correctly as per JLS3 15.12.2.8

Reviewed-by: jjg
2009-01-29 12:17:57 +00:00
Maurizio Cimadamore
418461fae2 6758789: Some method resolution diagnostic should be improved
Recent work on diagnostics left out some resolution corner cases

Reviewed-by: jjg
2008-10-24 12:46:34 +01:00
Maurizio Cimadamore
fe12031643 6718364: inference fails when a generic method is invoked with raw arguments
Bug in the implementation of Types.isSubtypeUnchecked

Reviewed-by: jjg
2008-08-08 17:38:20 +01:00
Maurizio Cimadamore
3bc508df8a 6717241: some diagnostic argument is prematurely converted into a String object
Removed early toString() conversions applied to diagnostic arguments

Reviewed-by: jjg
2008-07-24 19:06:57 +01:00
Maurizio Cimadamore
e63129f7b5 6683438: Bad regression test for CR 6611449
The regression test for CR 6611449 contains some inconstistencies

Reviewed-by: jjg
2008-04-09 15:04:35 +01:00
Maurizio Cimadamore
11b40a75ac 6365166: javac (generic) unable to resolve methods
Unignore regression test as this bug has been fixed by CR 6278587

Reviewed-by: jjg
2008-04-09 13:53:45 +01:00
Maurizio Cimadamore
70bcd151a0 6569789: Compiler test lang/TYPE/type153/type15304/type15304.html fails since jdk7 b05
Improved glb on type-inference

Reviewed-by: jjg
2008-04-02 11:20:52 +01:00
Maurizio Cimadamore
9e5259f792 6611449: Internal Error thrown during generic method/constructor invocation
Type-inference should fail since lub is not defined for primitive types

Reviewed-by: jjg
2008-03-04 12:14:13 +00:00
J. Duke
f57b87e8f6 Initial load 2007-12-01 00:00:00 +00:00