Commit Graph
1717 Commits
Author SHA1 Message Date
Anna Kozlova 9fc640a8f0 ensure correct expression is checked during read before write variable check (IDEA-135937) 2015-02-20 21:37:28 +01:00
Anna Kozlova a7efd33b2b cast conversion applicable for wildcard vs type parameter if bounds agree (IDEA-75628) 2015-02-20 19:46:49 +01:00
Anna Kozlova 939c490895 cast conversion: substitute type parameter bounds for recursive types (IDEA-136527) 2015-02-20 19:46:46 +01:00
Anna Kozlova ab09470050 method refs: missed super substitutor (IDEA-136717) 2015-02-19 20:40:49 +01:00
Anna Kozlova 11e81ab9d5 new inference: provide lambda incompatibility message based on failed inference (IDEA-131882) 2015-02-19 18:07:59 +01:00
Anna Kozlova d631901d7e distinguish capture in presentable text 2015-02-19 18:07:56 +01:00
Anna Kozlova b06817081b new inference: reject to infer variables if it's upper bound doesn't agree with lower/equal bound (when present) 2015-02-19 18:07:55 +01:00
Anna Kozlova 7bdb789b45 new inference:
reject inference if lower and equals bounds do not agree;
 -> inference variable should fill extends list types with it's upper bounds as they are correctly substituted with session's inference variables, otherwise incorporation up-up rule could get refs to initial type parameter instead of correct inference variable
2015-02-19 18:07:54 +01:00
Anna Kozlova 106ba612ce new inference: ignore return type constraints during method reference conflict resolving; work around raw type received from constructor reference given on raw type to be treated as diamond 2015-02-18 17:18:46 +01:00
Anna Kozlova 895b40432c lambda: can complete normally: skip empty finally blocks at lambda body end (IDEA-136628; IDEA-135791) 2015-02-17 19:56:04 +01:00
Anna Kozlova 6ca09678c2 allow navigation to not accessible fields when they are used inside reference chain 2015-02-17 14:58:59 +01:00
Anna Kozlova bcbc25e1de lambda -> method reference: ensure functional type was not changed after transformation (IDEA-136163) 2015-02-17 14:58:58 +01:00
Anna Kozlova 3163706022 testdata for IDEA-136581 2015-02-16 17:24:13 +01:00
Anna Kozlova d2c06c0d0b testdata for IDEA-123987 2015-02-13 21:28:47 +01:00
Anna Kozlova fc6e0f725d testdata for IDEA-124961 2015-02-13 21:28:46 +01:00
Anna Kozlova 952b8c7b9b testdata for IDEA-132379 2015-02-13 21:28:44 +01:00
Anna Kozlova 36b066ea54 testdata for IDEA-133935 2015-02-13 21:28:43 +01:00
Anna Kozlova 853f9c567f new inference: stop collecting constraints if target type is proper (IDEA-136412) 2015-02-13 18:54:04 +01:00
Anna Kozlova 465879cacf most specific: infer specific if method is generic even if type arguments are explicitly provided 2015-02-13 18:54:03 +01:00
Anna Kozlova 925e9d1610 pertinent to applicability: reject nested lambdas if they target non proper type 2015-02-13 18:54:02 +01:00
Anna Kozlova 344379d2f4 lambda: accept? inference variables as target type for lambda expression during lambda constraint reduction (IDEA-136435) 2015-02-12 21:15:32 +01:00
Anna Kozlova ed0ff7c07f most specific check: ensure that functional types are specifically checked when method is not generics (IDEA-136287) 2015-02-11 19:05:41 +01:00
Anna Kozlova 502dd423d9 static interface method call: ignore static imports if call is qualified (IDEA-136077) 2015-02-11 19:05:40 +01:00
Anna Kozlova 7e0c4959db show error for enums constants referenced from instance field initializer (IDEA-136196) 2015-02-10 17:55:59 +01:00
Anna Kozlova 18e6a082d9 show error for enums without constants but with abstract methods 2015-02-10 17:55:58 +01:00
Anna Kozlova a6ef814ce8 java 8 interfaces: default/static preferences (IDEA-136171) 2015-02-10 17:55:56 +01:00
Roman Shevchenko 2c738eea52 IDEA-136162 (type annotations in anonymous classes) 2015-02-09 19:23:15 +01:00
Anna Kozlova b0a9de51c9 testdata to fix javac behaviour (1.8u40) 2015-02-05 10:27:32 +03:00
Anna Kozlova 27e575b967 overload resolution for exact method references: ensure param types are equal in case non-generic methods 2015-02-01 16:30:45 +03:00
Anna Kozlova 867a714293 overload resolution for explicitly typed lambda: poly wins over primitive 2015-02-01 16:07:03 +03:00
Anna Kozlova dbdc890cd1 lambda expression isCongruent: ensure target function type has no type parameters 2015-02-01 12:54:19 +03:00
Anna Kozlova e315ef4b41 TypeName.super.foo() when TypeName denotes interface 2015-01-31 21:29:22 +03:00
Anna Kozlova 47ae95a968 ArrayType:🆕 ensure type reifiable 2015-01-31 16:13:14 +03:00
Anna Kozlova a6d8e976fa testdata for ClassType::<TypeArguments>new method references: ensure compilation error if ClassType is raw but type arguments are given 2015-01-31 16:13:13 +03:00
Anna Kozlova 82246db879 TypeName::Identifier method reference applicability when TypeName denotes interface 2015-01-31 16:13:13 +03:00
Anna Kozlova e41b02e277 ignore type parameters (arguments) in non-generic method references 2015-01-31 16:13:12 +03:00
Anna Kozlova 8886622b5c method references: fix type to search (site substitution) for ReferenceType::Identifier references, where ReferenceType is raw (IDEA-135792) 2015-01-30 22:28:02 +03:00
Anna Kozlova 012e57d2ea lambda isValueCompatible check: ensure throws is not treated as normal completion (IDEA-135581) 2015-01-26 20:19:16 +03:00
Anna Kozlova 65064ac053 include InterruptedException into mock1.7 testdata fixed 2015-01-22 13:05:05 +01:00
Dmitry Jemerov 256fd71176 don't perform any additional parsing on the contents of the {@code} tag in javadoc (IDEA-95956) 2015-01-21 13:47:36 +01:00
Anna Kozlova 7205db4b58 anonym -> lambda: evaluate ground type for type, inferred by position (IDEA-135211) 2015-01-14 16:45:51 +01:00
Anna Kozlova 73239255ec disable add exception to catch/generalize catch inside functional interface inside try statement (IDEA-135171) 2015-01-14 13:25:03 +01:00
Anna Kozlova ffbe05e14d stream migration: reject collection conversion if qualifier depends on loop parameter (IDEA-135104) 2015-01-13 20:55:48 +01:00
Anna Kozlova fcb252d25e ensure functional type for formal parameters lambda is valid after method reference replacement (IDEA-135053) 2015-01-08 19:54:23 +01:00
Anna Kozlova 3d9f911dc3 type distinct: allow comparisons of type X<? extends Object> == X<array> (IDEA-135041) 2015-01-08 19:54:22 +01:00
Anna Kozlova e4e0a33134 add explicit type arguments: preserve nested wildcards (IDEA-134967) 2015-01-08 13:33:00 +01:00
Anna Kozlova af7da7a8f4 incompatible parameter types in lambda expression message expanded (IDEA-134941) 2015-01-07 17:10:09 +01:00
Anna Kozlova 8ce9831489 bad return type in lambda expression: requited type added; range corrected (IDEA-134942) 2015-01-07 16:07:27 +01:00
Anna Kozlova c11d64ac60 new inference: distinguish return type type parameters and current session inference variables (IDEA-135001) 2015-01-07 15:34:27 +01:00
Anna Kozlova fa99ec2a74 lambda -> method ref: do not skip array initializer; ensure dimension expressions are correct 2015-01-02 12:05:46 +01:00