Commit Graph

1024 Commits

Author SHA1 Message Date
Anna.Kozlova b893701408 overload resolution: same signatures should not check return types, etc already processed in hierarchical signatures (IDEA-172129) 2017-04-28 20:23:23 +02:00
Anna.Kozlova ee750f165b ensure array is not accepted as functional interface (IDEA-172048) 2017-04-28 20:23:23 +02:00
Anna.Kozlova 541921d315 testdata for fresh variables during applicability check (javac infers Object and fails) 2017-04-28 10:03:16 +02:00
Anna.Kozlova fbf500d2d4 inference: skip standalone expressions in lambda returns (IDEA-171922) 2017-04-26 16:28:04 +02:00
Anna.Kozlova c4d213ba26 method references: don't infer Object when no constraint exist for 'raw' reference (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 58fcabfd2b functional interfaces: allow intersection with 2 independent abstract methods with same signature (IDEA-171622) 2017-04-21 20:03:27 +02:00
Anna.Kozlova 16b0cce4f6 overload resolution: don't skip static method conflicts in classes in hierarchy (IDEA-171617) 2017-04-19 14:01:07 +02:00
Anna.Kozlova c322dd3807 method reference: registry option to skip unsound capture conversion specified in the spec but ignored by the javac, to be changed in the next spec version (IDEA-171488) 2017-04-18 15:03:44 +02:00
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