Commit Graph

138 Commits

Author SHA1 Message Date
Anna.Kozlova bb7868f450 diamonds: don't infer raw type when inference of a staticFactory failed
avoid blinking tests on overload resolution: make outer method call not applicable by inferring incomplete results like it's done for method calls
2017-03-13 14:16:44 +01:00
Anna.Kozlova 770bd344ea ensure assignability for standalone expressions during applicability check (IDEA-159086) 2017-02-13 18:30:53 +01:00
Anna.Kozlova 4290a37a08 new inference: check intersection type of upper bound to detect substitution (IDEA-165011) 2016-12-07 18:44:34 +01:00
Anna.Kozlova 049a253fdf inference: don't erase types when target type is parameterized with unbounded wildcards only, in this case no unchecked warning would be generated and the types won't be affected by unchecked warning clause 2016-11-23 11:53:29 +01:00
Anna.Kozlova becb6c7387 inference: mark call unchecked required when proper types are compared (IDEA-164243) 2016-11-21 19:33:20 +01:00
Anna.Kozlova 39aa837db3 inference: don't distinguish parameterizations with 2 different interfaces (IDEA-163950) 2016-11-15 18:11:31 +01:00
Anna.Kozlova b8e4985205 don't erase method invocation type iff unchecked conversion was required during additional constraints processing (IDEA-163503) 2016-11-03 16:38:40 +01:00
Anna.Kozlova 9bcbdb68cb inference: register inference error when nested inference don't start as cached session already had errors 2016-10-21 18:07:07 +02:00
Anna.Kozlova 3797d3ea1c ensure ambiguity error presentation doesn't depend on previous calls to getSubstitutor() 2016-10-21 18:07:07 +02:00
Anna.Kozlova 41c2429966 new inference: postpone unresolved variables in favor to variables with proper equals bound 2016-10-11 10:27:29 +02:00
Anna.Kozlova 62d25f9d05 new inference: provide incomplete inference results for lambda (IDEA-162035; IDEA-155230) 2016-10-06 16:21:05 +02:00
Anna Kozlova 1bece25b95 inference: when unchecked conversion was applied, resolve variables against raw substitutor 2016-08-17 13:53:02 +03:00
Anna Kozlova 3cfd5be8c0 bombed test for resolution with cycle 2016-06-29 16:18:27 +03:00
Anna Kozlova 7968b2bbbb apply capture conversion for captured wildcard bound according to the direct supertype of parameterized type specification (IDEA-157586) 2016-06-22 15:24:15 +03:00
Anna Kozlova 3805d51554 subtyping constraint: apply capture conversion for captured wildcard bound according to the direct supertype of parameterized type specification 2016-06-22 15:24:15 +03:00
Anna Kozlova 1fcb534fcb highlight diamonds as type parameter list (IDEA-156859) 2016-06-06 17:52:24 +03:00
Anna Kozlova 3e7b1dca62 conditional: treat nulls separately and accept them as numeric/boolean branches (IDEA-157025) 2016-06-03 15:28:58 +03:00
Anna.Kozlova d85c70d870 invocation type inference: don't create fresh variables for all type parameters but only for those where wildcards are used in return type (IDEA-155627; IDEA-151220; IDEA-151387) 2016-05-06 18:00:16 +02:00
Anna.Kozlova 5d6351b1ec diamonds: don't accept inferred types when error appeared during inference (IDEA-154619) 2016-04-21 18:39:23 +02:00
Anna.Kozlova c09caae28e treat conditional expressions with new expressions with diamonds inside as poly
EA-76546 - assert: InferenceSessionContainer.treeWalkUp
2016-04-19 19:05:54 +02:00
Anna.Kozlova abf32b50d5 don't calculate type of method expression which is located on the left side of assignment - assignment is invalid anyway
(EA-77049 - assert: PsiMethodCallExpressionImpl$TypeEvaluator.fun)
2016-04-19 19:05:54 +02:00
Anna.Kozlova 1466b0155e bad code green: reject return type constraint if unchecked conversion was applied during applicability check and return type is type parameter 2016-04-11 21:51:18 +02:00
Anna.Kozlova 3966e55bbf testdata for IDEA-154278 2016-04-06 21:17:37 +02:00
Anna.Kozlova cc72bd0319 inference: restore probably partial raw inference as this way expected raw types are preserved and Objects won't be inferred in place where raw types were expected 2016-03-30 12:15:25 +02:00
Anna.Kozlova d5613fae7f testdata for IDEA-153632 2016-03-29 21:17:55 +02:00
Anna.Kozlova 0e808d9aff highlight invalid method call: search for most probable argument-cause (IDEA-151202) 2016-03-24 15:58:41 +01:00
Anna.Kozlova 034012ae4e overload resolution: clear inference errors from nested calls when top level expression is abadoned as non-applicable (IDEA-150718; IDEA-153222) 2016-03-18 15:50:22 +01:00
Anna Kozlova 1e764c9961 inference: skip lambda content and all its dependants when lambda type parameter type is calculated 2016-03-03 11:39:53 +01:00
Anna Kozlova 930df16f98 inference: propagate variable renames through the call hierarchy; calculate tooltips in tests (IDEA-151948) 2016-02-22 20:05:58 +01:00
Anna Kozlova f09865ef1d convert to diamonds: raise a problem if containing method can't be resolved (IDEA-151540) 2016-02-22 15:59:38 +01:00
Anna Kozlova ef90033b1a testdata 2016-02-18 19:47:21 +01:00
Anna Kozlova 0ac147ad95 inference: check glb with captured wildcard: if not assignable check if it is an interface 2016-02-17 17:24:41 +01:00
Anna Kozlova 42d50e32fe testdata for IDEA-150688 2016-02-17 14:44:12 +01:00
Anna Kozlova 17743c0a87 unchecked warning: mark as unchecked if passed to strict subtyping (IDEA-151302) 2016-02-17 14:44:12 +01:00
Anna Kozlova 8fdf37e038 inference: skip unchecked warning for types based on inference variables (IDEA-151761) 2016-02-16 18:15:03 +01:00
Anna Kozlova a530fe132f inference: don't erase inference variables (IDEA-151750) 2016-02-16 15:57:18 +01:00
Anna Kozlova 1f640238e0 inference: retrieve type from containing call if the corresponding method is not generics (IDEA-151443) 2016-02-09 20:09:10 +01:00
Anna Kozlova ff21fd0ea5 calculate transitive inference variable's dependencies (IDEA-151170) 2016-02-03 16:10:26 +03:00
Anna Kozlova c06f66ab26 SOE with numeric conditional expressions when expression inside is not standalone
EA-78419 - SOE: InferenceSessionContainer.infer
2016-01-27 13:57:06 +03:00
Anna Kozlova 7b2e554b0a inference: cache erasure flag together with partial inference (IDEA-150802) 2016-01-25 18:52:15 +03:00
Anna Kozlova 15f3eac8a2 inference:incorporation optimization: skip variable's bound incorporation if the phase didn't change these bounds 2016-01-19 12:56:50 +01:00
Anna Kozlova ae64c30eb9 inference: ensure to convert disjunction type to lub (IDEA-150364) 2016-01-14 16:18:20 +01:00
Anna Kozlova 46ce9ed914 testdata for IDEA-149774 2015-12-28 19:07:22 +01:00
Anna Kozlova adaa0f09b7 new inference: pull erased flag through nested calls (IDEA-133613) 2015-12-28 19:07:22 +01:00
Anna Kozlova 2be1c64a13 new inference: correct capture incorporation (IDEA-149807) 2015-12-28 19:07:22 +01:00
Anna Kozlova a15905ae13 conditional expression type: check poly expression first (IDEA-148965) 2015-12-08 09:37:18 +01:00
Anna Kozlova 5dad1d7009 new inference: process captured wildcard with array type bound 2015-12-02 10:57:27 +01:00
Anna Kozlova 621795bbee isApplicability check based on pertinentToApplicability 2015-11-30 15:11:41 +01:00
Anna Kozlova e43fad4277 captured wildcards: don't open unpredictably, treat as type, not type argument (IDEA-148348) 2015-11-26 19:23:09 +01:00
Anna Kozlova 49dfdded70 new inference: don't push resolved vars in case of failed substitution 2015-11-24 10:30:21 +01:00