Commit Graph

915 Commits

Author SHA1 Message Date
Anna.Kozlova
a3dca1423c method references: exclude type parameter used in return types only (IDEA-171480) 2017-04-18 15:03:44 +02:00
Anna.Kozlova
c917f02b47 testdata for javac resolution order: to be merged in java 9 update 2017-04-11 16:22:35 +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
faa4c93b47 skip errors in case of diamond inference with type parameters on constructor 2017-04-03 13:52:13 +02:00
Anna.Kozlova
51d4e9936a static imports: don't compare with expected type when it depends on unresolved reference (IDEA-163072) 2017-03-31 18:01:29 +02:00
Anna.Kozlova
3da240cba6 method reference: distinguish captured wildcards by target parameters (IDEA-170340) 2017-03-28 10:09:30 +02:00
Anna.Kozlova
9f3dfc8629 check that inferred intersection type doesn't contain same generic type with different type arguments (IDEA-170325) 2017-03-28 10:09:30 +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
Roman Shevchenko
1abffecba5 Cleanup (warnings, formatting) 2017-03-24 13:18:59 +01:00
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