Commit Graph

105 Commits

Author SHA1 Message Date
Anna Kozlova 9bc2885c4c new inference: collect during inference substitutor from inference variables and replace them with type parameters at the very end, excluding foreign variables so e.g. no essential dependency would get overridden by type parameter from sibling call (IDEA-140387) 2015-06-03 22:26:28 +02:00
Anna Kozlova 7b0c5b6d05 new inference: check equals/upper/low bounds consistency 2015-05-29 14:48:27 +02:00
Anna Kozlova b06817081b new inference: reject to infer variables if it's upper bound doesn't agree with lower/equal bound (when present) 2015-02-19 18:07:55 +01:00
Anna Kozlova 106ba612ce new inference: ignore return type constraints during method reference conflict resolving; work around raw type received from constructor reference given on raw type to be treated as diamond 2015-02-18 17:18:46 +01:00
Anna Kozlova 482de672ef method references: site substitution for method references without receiver (IDEA-134261) 2014-12-12 20:57:02 +01:00
Anna Kozlova 5136167d8b new inference: use site substitution inside one level of inference only so calls with different site substitutions are possible in one expression (IDEA-131723; IDEA-131562) 2014-10-24 18:36:20 +02:00
Anna Kozlova 313125533c method reference: exact reference check fixed for methods with the signatures without generics (IDEA-127765) 2014-08-05 18:54:32 +02:00
Anna Kozlova eaa9ce63f6 method refs: check if interface functional (IDEA-125511) 2014-05-26 09:19:31 +04:00
Anna Kozlova 1698f7bb29 testdata: ensure method ref qualified are checked over static problems 2014-04-22 20:02:41 +02:00
Anna Kozlova 2cc9842ac2 method references: highlight separately non-instantiated classes, not resolved methods (IDEA-123279) 2014-04-02 10:51:27 +02:00
Anna Kozlova e7cb908c95 new inference: method refs: apply reference rules first 2014-02-27 21:02:57 +01:00
Anna Kozlova 66a8dedb8c new inference: method refs: accept qualifier substitutor when nothing more could be inferred 2014-02-27 18:32:43 +01:00
Anna Kozlova bd681beb26 new inference: 18.5.2 adjustments 2014-02-19 09:46:15 +01:00
Alexey Kudravtsev c7b78f76a2 IDEA-120784 "Class is public should be declared in a file named <Classname>.java" for inner interface 2014-02-18 13:55:52 +04:00
Anna Kozlova 021c0c891e new inference: stop inference if false was inferred 2014-02-12 09:46:33 +01:00
Anna Kozlova 9466bd9bde new inference: method refs: potentially compatible condition 2014-02-11 14:20:50 +01:00
Anna Kozlova fd00ca6f91 new inference: method refs overload resolution: filter static problems for ReferenceType refs only 2014-02-11 09:40:05 +01:00
Anna Kozlova 2b5764d82a new inference: method references: process varargs 2014-02-11 09:40:02 +01:00
Anna Kozlova 6efef684ce new inference: method ref inference: postpone return type inference in case of constructor refs 2014-02-07 18:43:54 +01:00
Anna Kozlova 704285aae2 method refs constraint (IDEA-118437) 2014-01-30 20:13:47 +04:00
anna 852785ea18 testdata to check invalid method refs 2013-11-28 14:14:45 +01:00
anna f2c576c7de method refs: do not choose more specific method between methods with different number of params
(cherry picked from commit f986c7c3541f032da16736f43fd34c92337242c4)
2013-11-28 12:21:42 +01:00
anna 5f1db87624 new inference: avoid one type parameter inference
(cherry picked from commit f764e69e3f7e98e0c94e701706121069f2775586)
2013-11-25 16:48:09 +01:00
anna f66adc7985 new inference: refinement on generics array creation/forbid wildcards in ClassType qualifier
(cherry picked from commit 72a410e804b569893f0bad7739bdd9a7c1c270f1)
2013-11-25 16:47:56 +01:00
anna 481bc252f3 switch tests on new inference
(cherry picked from commit d2cbf3f2833104c3a0381059b0d6ef8ac0b3c94c)
2013-11-25 16:47:38 +01:00
anna 23432e3cd7 new inference: array constructor refs are always exact (IDEA-115725)
(cherry picked from commit 0f6538fc54bbee0aaf6cbab9884c0407937d4568)
2013-11-25 16:47:36 +01:00
anna 06815172d7 testdata fixed 2013-11-11 10:43:19 +01:00
anna 915fb35af7 new overload resolution: testdata 2013-11-06 12:40:27 +01:00
anna 69dbc89461 inference: do not check return type during inference; separate highlighting check 2013-10-08 17:13:33 +02:00
Anna Kozlova 4cae15713b more specific: lambda extended initial fix (IDEA-113357) 2013-09-09 21:42:47 +04:00
Anna Kozlova 0622404265 method refs: ambiguity (IDEA-113078) 2013-09-04 13:46:45 +04:00
Anna Kozlova 75847497e5 method refs: accept 2 phase acceptance (static and receiver based), raise 'staticAccess' errors at highlighting level 2013-08-30 13:10:42 +04:00
Anna Kozlova 04a76c3faf IDEA-112555 Bad code is green with method references on instance 2013-08-26 18:11:00 +04:00
Anna Kozlova 183c7cd0b8 fix testdata 2013-08-20 15:15:13 +04:00
Anna Kozlova 6e9b26f3b1 method refs IDEA-112323 2013-08-20 13:32:04 +04:00
Anna Kozlova e006534d08 moreSpecific cleanup 2013-08-15 17:38:03 +04:00
anna a5a54bd00a method references of vararg methods 2013-05-14 12:08:00 +02:00
anna 7a56eb198f new array refs: accept signatures with assignable to int params (IDEA-106973) 2013-05-13 15:05:52 +02:00
anna 497644d544 method refs: collect substitution from type parameter's extends list (IDEA-104314) 2013-04-01 20:36:27 +02:00
anna d7c5ecacdd constructor refs: decline abstract classes (IDEA-102392) 2013-03-04 16:03:07 +01:00
Roman Shevchenko 54a7b4dc70 Deprecated extension method syntax dropped 2013-02-27 20:40:44 +01:00
anna 47c7983713 lambda: check more specific method based on lambda return types with wildcards 2013-02-27 18:03:31 +01:00
anna e48f61bf4d method refs: test data to check enum/interface/annotation not accepted; isAcceptable checks on Array types 2013-02-26 20:38:07 +01:00
anna 2ceabcf7ba method refs: super::abstract method 2013-02-26 19:51:03 +01:00
anna 7333331a42 method refs: decline constructor refs on array ref with inapplicable substitutor 2013-02-26 19:51:02 +01:00
anna 23056b8d20 method refs: patch getClass return value in the same way it is done in PsiMethodCallExpression 2013-02-26 19:51:01 +01:00
anna a41b5c6f85 support method/constructor refs on array types 2013-02-26 16:30:11 +01:00
anna 96abac54cc method refs: treat boxed types as with anonymous 2013-02-26 16:30:10 +01:00
anna ed8986937e method refs: compilation error when static method is accept through instance reference 2013-02-26 14:19:16 +01:00
anna af83c60af8 constructor refs: forbid outer as implicit receiver in non-static inner class 2013-02-26 14:19:15 +01:00