52 Commits

Author SHA1 Message Date
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
e5ce4a752b 6840638: Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
Diamond operator implementation (simple approach)

Reviewed-by: jjg
2009-08-27 13:40:48 +01:00
Maurizio Cimadamore
d8292cad05 6569404: Cannot instantiate an inner class of a type variable
Javac is too strict in rejecting member selction from a type-var

Reviewed-by: jjg
2009-08-11 01:14:06 +01:00
Maurizio Cimadamore
b097f12a5d 6869075: regression: javac crashes when compiling compound string assignment with generics
Javac should not add syntehtic cast to the LHS of an assignment expression

Reviewed-by: jjg
2009-08-11 01:13:42 +01:00
Maurizio Cimadamore
dd76763423 6846972: cannot access member of raw type when erasure change overriding into overloading
Fix of 6400189 caused a nasty problem in method resolution

Reviewed-by: jjg
2009-07-15 10:25:01 +01: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
Joe Darcy
05ea258bbb 6843761: Update langtools tests to remove unncessary -source and -target options
Reviewed-by: jjg
2009-05-27 22:34:43 -07:00
Maurizio Cimadamore
8321605121 6182950: methods clash algorithm should not depend on return type
Fixed code that checks for duplicate method declarations

Reviewed-by: jjg
2009-03-25 10:28:36 +00:00
Tim Bell
e005d5df51 Merge 2009-03-09 23:53:41 -07:00
Xiomara Jayasena
56fcf6c052 6814575: Update copyright year
Update copyright for files that have been modified in 2009, up to 03/09

Reviewed-by: katleman, tbell, ohair
2009-03-09 13:29:06 -07:00
Maurizio Cimadamore
5ff31e060f 6804733: javac generates spourious diagnostics for ill-formed type-variable bounds
Fixed algorithm for checking cycles in typevar declarations

Reviewed-by: jjg
2009-03-05 17:24:40 +00: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
4021098c46 6729401: Compiler error when using F-bounded generics with free type variables
Javac applies wrong substitution to recursive type-variable bounds

Reviewed-by: jjg
2009-01-29 12:19:14 +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
Tim Bell
1b49bea0ad 6797871: Fix for 6797463 did not remove the jtreg tests, and it should have
Reviewed-by: jjg
2009-01-26 15:14:46 -08:00
Maurizio Cimadamore
19b769a375 6557199: Fails to reject bad override of generic method
Javac does not correctly implement JLS3 8.4.5

Reviewed-by: jjg
2009-01-20 17:49:49 +00:00
Mark Mahieu
9dff8d691f 6723444: javac fails to substitute type variables into a constructor's throws clause
Added constructor's actual type info to NewClass AST node

Reviewed-by: jjg
2009-01-13 13:28:42 +00:00
Maurizio Cimadamore
f6cd370370 6665356: Cast not allowed when both qualifying type and inner class are parameterized
Fixed parser and cats conversion in order to allow cast between generic inner classes

Reviewed-by: jjg
2009-01-13 13:28:20 +00:00
Maurizio Cimadamore
71eb016652 6776289: Regression: javac7 doesnt resolve method calls properly
Superclass' private methods shouldn't be considered during method resolution

Reviewed-by: jjg
2008-11-26 11:07:07 +00:00
Maurizio Cimadamore
a21aaaa7dc 6762569: Javac crashes with AssertionError in Types.containedBy
Types.containedBy should be more liberal with UndetVars

Reviewed-by: jjg
2008-10-24 12:46:51 +01: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
3a7c0b423c 6680106: StackOverFlowError for Cyclic inheritance in TypeParameters with ArrayType Bounds
Javac ends up in an infinite loop while attributing mutually referring array type-parameter bounds

Reviewed-by: jjg
2008-10-24 12:45:47 +01:00
Maurizio Cimadamore
5a17e28602 6557954: Inner class type parameters doesn't get substituted when checking type well-formedness
Validator.visitTypeApply should substitute all formal typevars with actual parameters

Reviewed-by: jjg
2008-10-23 18:29:11 +01:00
Maurizio Cimadamore
b2ffad7180 6487370: javac incorrectly gives ambiguity warning with override-equivalent abstract inherited methods
Javac should not compare erased return types when checking for ambiguity errors during overload resolution

Reviewed-by: jjg
2008-10-23 18:00:05 +01:00
Maurizio Cimadamore
90e6379916 6711619: javac doesn't allow access to protected members in intersection types
Accordingly to new accessibility rules all members of intersection types (but private ones) should be accessible

Reviewed-by: jjg
2008-10-23 17:59:43 +01:00
Maurizio Cimadamore
be7b82ffe4 6732484: Bound error on wildcard code
Check.checkExtends should cope with captured type-variables

Reviewed-by: jjg
2008-10-23 17:59:16 +01:00
Maurizio Cimadamore
9315b88d67 6751514: Unary post-increment with type variables crash javac during lowering
Lower.abstractRval should take into account parenthesized expressions

Reviewed-by: jjg
2008-10-09 15:56:20 +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
fec04e0a18 6651719: Compiler crashes possibly during forward reference of TypeParameter
Compiler should apply capture conversion when checking for bound conformance

Reviewed-by: jjg
2008-07-24 10:35:38 +01:00
Tim Bell
bfe81fd61c Merge 2008-07-04 15:06:27 -07:00
Xiomara Jayasena
4d965a7153 6719955: Update copyright year
Update copyright year for files that have been modified in 2008

Reviewed-by: ohair, tbell
2008-07-02 12:56:02 -07:00
Maurizio Cimadamore
f33c28c7fb 6294779: Problem with interface inheritance and covariant return types
Problematic overriding check when two methods defined in two distinct superinterfaces are overriden by an interface

Reviewed-by: jjg
2008-06-20 11:25:03 +01:00
Maurizio Cimadamore
e3ba3ecd1d 6677785: REGRESSION: StackOverFlowError with Cyclic Class level Type Parameters when used in constructors
This regression has been caused by previous fix of 6660289

Reviewed-by: jjg
2008-05-30 11:08:40 +01:00
Maurizio Cimadamore
afb636d599 6507024: casting an array to a generic type results in a 'capture#69 of ?' type error
Types.isSubtypeUnchecked() should handle type-variables subtyping properly

Reviewed-by: jjg
2008-05-30 10:42:43 +01:00
Maurizio Cimadamore
38763bd637 6559182: Cast from a raw type with non-generic supertype to a raw type fails unexpectedly
Javac doesn't conform to JLS 4.8 - all the supertypes of a raw type must be erased

Reviewed-by: jjg
2008-04-09 15:30:44 +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
d09cfea3c2 6657499: javac 1.6.0 fails to compile class with inner class
Lookup of member inner classes silently fails leading to an unwanted erasure to take place

Reviewed-by: jjg
2008-04-09 14:57:37 +01:00
Maurizio Cimadamore
bafc1f6d00 6450290: Capture of nested wildcards causes type error
A missing capture conversion makes javac to think that some expressions are well-formed even when they aren't

Reviewed-by: jjg
2008-04-09 14:45:50 +01:00
Maurizio Cimadamore
70bdf8ae8d 6481655: Parser confused by combination of parens and explicit type args
Bug in the parser caused by the fact that explicit type arguments are disabled when parsing parenthesized expressions

Reviewed-by: jjg
2008-04-09 14:05:24 +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
3c80eb1a9e 5009937: hiding versus generics versus binary compatibility
Missing implementation of JLS 8.4.8.3 (different arguments with same erasure not always triggering a compiler error)

Reviewed-by: jjg
2008-04-09 13:41:45 +01:00
Maurizio Cimadamore
2daecbb697 6531075: Missing synthetic casts when accessing fields/methods of intersection types including type variables
Bug when javac generates code involving intersection types

Reviewed-by: jjg
2008-04-09 13:19:01 +01:00
Maurizio Cimadamore
1be460dbdd 6531090: Cannot access methods/fields of a captured type belonging to an intersection type
Fixed lookup of field/methods on intersection types

Reviewed-by: jjg
2008-04-02 11:44:23 +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
00c5620740 6660289: declared bound in inner class referring a type variable of the outer class
NPE caused by a defect in type-variable attribution

Reviewed-by: jjg
2008-03-04 13:00:08 +00:00