Commit Graph
167 Commits
Author SHA1 Message Date
Anna.Kozlova 1fc76eb779 calc types by applicability constraints if inference fails
include all inference variables for resolve and ignore additional constraints checks if the inference is going to failure; this way if (expr()) would get type of the 'standalone' expression instead of expression with boolean as expected type
2017-12-07 15:51:06 +01:00
Anna Kozlova b0ccbdebcf exception inference: don't check non-applicable methods (IDEA-178762) 2017-09-12 21:05:35 +03:00
Anna Kozlova b23c6b026b can complete normally: break inside switch (IDEA-178304)
break inside switch when switch is selected should not lead to abnormal completion
2017-09-04 12:28:22 +03:00
Anna.Kozlova 3d1ba95725 unhandled exception: shrink the highlighted range (IDEA-177234) 2017-08-09 18:38:29 +02:00
Anna.Kozlova 9e0394a757 lambda constraints: proceed with return expressions (IDEA-175426)
lambda with formal types won't lead to additional constraint after return type constraint processing, thus it need to be processed additionally
2017-07-05 16:48:52 +02:00
Anna Kozlova 0e5a7bca67 testdata for IDEA-174924 2017-06-23 18:19:42 +03:00
Anna Kozlova fb928f72c6 lambda inference: conditional expressions in returns (IDEA-174301)
skip conditionals and parenthesis during find top expression
2017-06-13 16:12:45 +03:00
Anna Kozlova ee0e90d92c provide applicability substitutor when inference fails for parent expression 2017-05-08 22:58:02 +03:00
Anna Kozlova 77f4894aae inference errors: make applicability error thread safe so multiple threads can perform overload resolution of parent method calls independently, save presentable error when substitutor cached only 2017-05-08 12:12:13 +03:00
Anna Kozlova 5516110b50 lambda: don't hide raw substitutions in functional types hierarchies (IDEA-172301) 2017-05-04 20:29:52 +03:00
Anna.Kozlova ee750f165b ensure array is not accepted as functional interface (IDEA-172048) 2017-04-28 20:23:23 +02:00
Anna.Kozlova fbf500d2d4 inference: skip standalone expressions in lambda returns (IDEA-171922) 2017-04-26 16:28:04 +02:00
Anna.Kozlova e2ceb575a2 testdata on javac issue 2017-04-26 16:28:04 +02:00
Anna.Kozlova b2ecf6e674 inference: don't fix the lambda return type for nested lambda processing (IDEA-169161) 2017-04-05 18:28:48 +02:00
Anna.Kozlova 95226c21c5 explicit right to left side assignment failure when inference breaks on return type (IDEA-152677) 2017-03-27 10:34:43 +02:00
Roman Shevchenko 6bd1b92c6e [tests] prepares Java tests for the language level raise 2017-03-24 13:19:01 +01:00
Anna.Kozlova 07a332598a ensure additional constrains are collected based on ground functional type (IDEA-167277) 2017-02-01 19:12:26 +01:00
Anna Kozlova 8913e40ed1 ground type for explicitly typed lambda: add sam to target class substitution (IDEA-166662) 2017-01-18 12:11:17 +03: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 b560ee5910 lambda highlighting: if return statement has problem, try to highlight only corresponding return even if containing inference failed 2016-10-07 13:55:01 +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 035b6d9d1f lambda return type inconsistency: highlight all found errors (IDEA-158853) 2016-07-21 19:03:45 +02:00
Anna.Kozlova 107abaf891 good code red: applicability check for non-generic method requires types calculation 2016-05-20 21:44:12 +02:00
Anna.Kozlova ce58f62d19 lambda.isValueCompatible should not cache inference results for calls inside lambda body as they may depend on incomplete top level inference where LambdaExpressionCompatibilityConstraint is reduced (IDEA-156311) 2016-05-20 18:52:45 +02:00
Anna.Kozlova 25352dce0b avoid checks over not applicable methods (IDEA-156196) 2016-05-19 16:47:28 +02:00
Anna.Kozlova 3dd26b5936 testdata on partially raw types inferred by javac 2016-05-09 19:42:35 +02:00
Anna.Kozlova e588d2285a highlighting: don't add warning for nested lambda when problem is inside upper level (IDEA-155192) 2016-04-25 14:41:56 +02:00
Anna.Kozlova ee4f41b14c don't open captures on type computation (IDEA-154968) 2016-04-20 17:49:29 +02:00
Anna.Kozlova 320aeb7b5e inference: erasure functional type for raw substitutors (IDEA-154759) 2016-04-14 20:59:13 +02:00
Anna.Kozlova 0ed05632ff ensure non-initialized fields used inside lambdas are rejected if lambda is inside class initializer only (IDEA-154305) 2016-04-07 15:13:00 +02:00
Anna.Kozlova 2f0bfeb404 testdata for IDEA-153999 2016-04-01 16:53:23 +02:00
Anna.Kozlova e6426783b4 new inference: forget nested states when expressions were processed second time (IDEA-153897) 2016-03-30 21:02:16 +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 bf5cd076c1 new inference: avoid inferring partly raw types (in case of unchecked conversion resolve to eq/low bound or null if only upper is present) as these types won't be treated as wildcard parameterized ever (IDEA-150167) 2016-03-24 11:48:06 +01:00
Anna.Kozlova ab7f16e4b9 testdata for IDEA-153284 2016-03-21 14:14:26 +01:00
Anna.Kozlova 53d3aa770c inference: don't include constraints to resolve if input bounds have proper instantiation but depends on the output of another constraints (IDEA-153164) 2016-03-17 21:25:32 +01:00
Anna Kozlova 5b8e459686 lambda: proceed c-like arrays declarations in parameters for lambda with excplicit type declarations (IDEA-152690) 2016-03-09 14:23:53 +01:00
Anna Kozlova 6c5fc69ae9 inference: don't check bounds for variables which may depend on another variable with inconsistency bounds 2016-03-03 13:31:40 +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 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 e7c7fab136 stop at lambda also if it is explicitly typed
EA-78231 - SOE: InferenceSessionContainer.infer
2016-02-03 12:39:27 +03:00
Anna Kozlova a6625994fb overload resolution: don't skip errors from another context (IDEA-151119) 2016-02-02 14:38:40 +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 31c6b67ce6 inference: stop tree up traversal when lambda expression is currently checked
EA-76546 - assert: InferenceSessionContainer.treeWalkUp
IDEA-150168; IDEA-150166
2016-01-08 20:15:17 +01:00
Anna Kozlova 210217ecfa new inference: already resolved vars can't have bounds problems (IDEA-149740) 2015-12-29 16:46:58 +01:00
Anna Kozlova c4711f94ef testdata for IDEA-149709 2015-12-28 19:07:22 +01:00
Anna Kozlova 29e713bb7e testdata for IDEA-149670 2015-12-28 14:57:27 +01:00
Anna Kozlova aa70efc9a4 testdata for IDEA-149224 2015-12-28 10:27:00 +01:00
Anna Kozlova 7249fd8179 lambda: missed ground type for target functional type (IDEA-149053) 2015-12-09 22:03:56 +01:00