Commit Graph

905 Commits

Author SHA1 Message Date
Anna.Kozlova 9dfdd49e17 find class or interface to search the method: stop when accessible method is found even with static problem (IDEA-169504) 2017-03-15 10:41:42 +01:00
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 c719482b06 pull up inference errors when current call has no type parameters (IDEA-169316) 2017-03-09 15:04:34 +01:00
Anna.Kozlova 9c3ebf16aa method reference: include super substitutor into method reference substitutor when referenced method has no type parameters (IDEA-169134) 2017-03-07 09:15:29 +01:00
Anna.Kozlova af3deb08fe overload resolution: ensure cleanup both branches of conditional (IDEA-169142) 2017-03-06 15:14:54 +01:00
Anna.Kozlova 27ca3fe565 ensure enum constants resolved inside enum class
EA-83687 - assert: PsiEnumConstantImpl.resolveMethodGenerics
2017-02-17 19:37:21 +01:00
Anna.Kozlova e794bbcb0f erasure return type when unchecked conversion was required deep inside (IDEA-168316) 2017-02-17 10:57:30 +01:00
Anna.Kozlova e0afb738e7 revert additional applicability checks due to captures inside subst 2017-02-15 13:38:12 +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 abfa41efdf applicability error: check inferred types by applicability substitutor (IDEA-167275) 2017-02-13 14:10:51 +01:00
Anna.Kozlova e88322304e inference: deep nested session based on existing initial substitution (IDEA-167713) 2017-02-10 10:04:15 +01:00
Anna.Kozlova 2fc0560169 inference: ensure don't walk through explicitly specified type 2017-02-09 10:14:07 +01:00
peter abeb3aae84 IDEA-167777 Code completion (ctrl+space) ignores static imports from interfaces. 2017-02-08 18:49:11 +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
peter 4e71366f3b prefer local variables over static method references in completion 2017-02-01 17:53:15 +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 178e834fb9 checked exception compatibility constraint: don't substitute with inferred variables as types are already constructed based on substituted values, so avoid dbl substitution which leads to errors in case of references to the containing method (IDEA-166104) 2017-01-02 12:27:12 +01:00
Anna.Kozlova f6364fbc68 method hierarchy with generics methods: fix adapting substitutor (IDEA-165969) 2016-12-28 14:20:06 +01:00
Anna.Kozlova 8f533a3edc overload resolution: don't ignore method with incorrect number of parameters when it overrides vararg method (IDEA-165829) 2016-12-27 11:29:37 +01:00
Anna.Kozlova 341b97a5b2 exact method refs: mark as not exact if on raw type 2016-12-23 19:37:48 +01:00
peter 8d4406a15e IDEA-165594 Auto completion adds unnecessary spaces before and after colon in case of method reference 2016-12-19 15:47:42 +01:00
Anna.Kozlova 575a0740a9 method refs: ensure raw substitutor is not used for second search case to build return type constraints (IDEA-165239) 2016-12-14 11:31:36 +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 e55fbf3f1d isEffectivelyFinal: disallow effectively final variables to be initialized twice (IDEA-165060) 2016-12-06 17:54:19 +01:00
Anna.Kozlova 382b78aeca unrelated defaults: check if current class contains explicit method (IDEA-164732) 2016-12-02 11:51:07 +01:00
Anna.Kozlova 936294e05d allow functional expressions in nested conditional expressions (IDEA-164828) 2016-12-01 16:52:02 +01:00
Anna.Kozlova a17be30b79 include package local methods into method hierarchy (IDEA-164557) 2016-12-01 10:39:31 +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 ec82847b4e resolve for method reference qualifier should prefer classes in case of constructor refs (IDEA-164165) 2016-11-18 17:58:54 +01:00
Anna.Kozlova ccb61093af overload resolution: don't choose most specific method based on boxing property for vararg position (IDEA-163597) 2016-11-17 17:10:53 +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 bf259fed79 unrelated defaults when one interface overrides 2 unrelated (IDEA-163469) 2016-11-02 15:51:14 +01:00
Anna.Kozlova 80a5866b23 super expression rules should not apply to this expressions (IDEA-163303) 2016-10-28 18:23:21 +02: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 12554167e7 inference on incomplete code (EA-90195 - AIOOBE: PsiTypesUtil.getParameterType) 2016-10-20 19:04:25 +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 98094c72de lambda: ensure deep nested lambdas get target types from top level inference (IDEA-157314) 2016-10-07 13:55:01 +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 031f71c5b3 redundant cast: don't highlight conditional with functional branches (IDEA-161971) 2016-10-04 18:45:14 +02:00
Anna.Kozlova 3332a677a6 allow functional interfaces in conditionals inside assignment or invocation contexts only 2016-10-04 18:45:14 +02:00
peter 53867e057f IDEA-161862 Lambda Expressions not showing as implementations of an interface 2016-09-29 11:31:20 +02:00
Anna Kozlova c95ba9968d testdata 2016-09-22 17:25:47 +03:00
Anna Kozlova 926d7063f5 fix testdata 2016-09-19 18:50:55 +03:00
Anna Kozlova b8f0e626b9 java 8 diamonds: include constructor's type parameters in inference constraints (IDEA-160918) 2016-09-19 17:43:55 +03:00
Anna Kozlova f4dae32d7f overload resolution: prefer candidates with functional formal type if lambda is passed; this way conflict would be resolved and nested error would be shown instead 2016-09-16 08:34:15 +03:00
peter d408fdc798 IDEA-161250 Semicolon added in the middle of code 2016-09-15 12:03:42 +02:00