Commit Graph

3163 Commits

Author SHA1 Message Date
Anna.Kozlova
43fc40c4a5 anonym -> lambda, redundant cast, redundant type args: process top level overloads (IDEA-152766);
rearrange utils
2016-04-15 18:43:24 +02:00
Anna.Kozlova
09f46115cf redundant cast: special processing for functional expressions as enum args (IDEA-154354) 2016-04-15 18:43:24 +02:00
Anna.Kozlova
bb6394162a warn about compilable code which would lead to runtime ClassCastException in addition to unchecked warning which nobody understands (IDEA-154345) 2016-04-15 18:43:24 +02:00
Alexey Kudravtsev
bfcb00fff6 quick fix for MagicConstantInspection which suggests to replace 1 with Font.BOLD 2016-04-15 12:34:33 +03:00
Anna.Kozlova
320aeb7b5e inference: erasure functional type for raw substitutors (IDEA-154759) 2016-04-14 20:59:13 +02:00
Anna.Kozlova
f7137a044d anonymous -> lambda: deep unique names (IDEA-154751) 2016-04-14 20:59:13 +02:00
Anna.Kozlova
24c2c0fa95 delegate methods: fix single field case (IDEA-154698) 2016-04-14 16:26:10 +02:00
Anna.Kozlova
f64bd14441 method refs: site substitution should not replace session setup (IDEA-154722) 2016-04-14 12:28:44 +02:00
Anna.Kozlova
d780e31bdf inference: ensure foreign variables do not participate in inference process, e.g. variables from method reference overload resolution (IDEA-154622) 2016-04-13 21:11:02 +02:00
Anna.Kozlova
9086115347 method ref: type parameter instantiation (IDEA-154645) 2016-04-13 12:30:54 +02:00
Anna.Kozlova
fc14dddfd8 check for abstract method implemented optimized: don't go through hierarchy if superClass is not abstract and there is no interfaces, would also fix asm implementations with 'broken' erasures inside 2016-04-11 21:51:18 +02:00
Anna.Kozlova
1466b0155e bad code green: reject return type constraint if unchecked conversion was applied during applicability check and return type is type parameter 2016-04-11 21:51:18 +02:00
Anna.Kozlova
59daba3004 disable return void suggestion (IDEA-154467) 2016-04-11 12:48:53 +02:00
Anna.Kozlova
9cdb5a70af trivial method ref: check if qualifier is of assignable type (IDEA-154422) 2016-04-08 18:44:25 +02:00
Anna.Kozlova
9150e6fd4a clear error message (IDEA-154419) 2016-04-08 18:44:25 +02:00
Anna.Kozlova
a8ad27f8a9 no need to check unrelated concrete for same named constructors in the hierarchy (IDEA-154377) 2016-04-08 18:44:25 +02:00
Anna.Kozlova
572b7d8e7e disable create enum constant when not applicable (IDEA-154293) 2016-04-08 18:44:25 +02:00
Roman Shevchenko
3c6b40759b [java] adds PsiModifierList.hasModifierProperty() augmentation point (IDEA-153706) 2016-04-08 10:36:41 +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
66a8aa11b8 collect unhandled exceptions from enum constructor (IDEA-154283) 2016-04-07 15:13:00 +02:00
Anna.Kozlova
3966e55bbf testdata for IDEA-154278 2016-04-06 21:17:37 +02:00
Anna.Kozlova
0ca2e9cdd6 don't pass erasure flag through inference process 2016-04-06 17:15:12 +02:00
Anna.Kozlova
56a3a1ffa4 move operator assignment check for object to javac quirks inspection with fix (IDEA-154209) 2016-04-06 17:15:12 +02:00
Anna.Kozlova
1bc380f6fd overload resolution: skip static correctness check during overload resolution (IDEA-154187) 2016-04-06 12:51:57 +02:00
Anna.Kozlova
c35fa1891b if client iterates through candidates of call resolve results and start inference for one of them, then cached top level session should be rejected if it corresponds to another candidate 2016-04-06 12:51:57 +02:00
Anna.Kozlova
cd9c406260 don't cache substitutors during processing of all candidates (blinking red code) 2016-04-05 21:03:27 +02:00
Anna.Kozlova
2e3c2261ad lambda: treat fields qualified with this as unqualified (IDEA-154174) 2016-04-05 18:27:32 +02:00
Anna.Kozlova
512341e08a inference: ensure primitive -> boxed conversion won't end with pre-generics jdk (IDEA-154108) 2016-04-05 18:27:32 +02:00
peter
f2ef7b87c1 revert inference for all type arguments for now (IDEA-153970 Code completion suggestions for SmartType are broken when used with generics) 2016-04-05 14:29:08 +02:00
Anna.Kozlova
5f73492b7f fix parenthesis expr during precise rethrow detection 2016-04-04 21:24:28 +02:00
peter
99bb53c9f6 no irrelevant java completion inside comments (IDEA-153683) 2016-04-04 16:42:04 +02:00
peter
c99918eb89 IDEA-154099 Smart completion is broken inside super call 2016-04-04 16:42:04 +02:00
Anna.Kozlova
2f0bfeb404 testdata for IDEA-153999 2016-04-01 16:53:23 +02:00
Anna.Kozlova
c1c40665ce erasure type of new expression if diamonds were used and during applicability check unchecked conversion was applied (IDEA-154009) 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
cc72bd0319 inference: restore probably partial raw inference as this way expected raw types are preserved and Objects won't be inferred in place where raw types were expected 2016-03-30 12:15:25 +02:00
Bas Leijdekkers
5210f8dbe5 IDEA-153614 (Flip ',' (comma) generates invalid code) 2016-03-30 11:43:52 +02:00
Anna.Kozlova
d5613fae7f testdata for IDEA-153632 2016-03-29 21:17:55 +02:00
Anna.Kozlova
f139c4cef4 new inference: check provided lower bounds on type parameters, in case of fresh variables they declare the type hierarchy and otherwise constrains won't agree (IDEA-153642) 2016-03-29 16:51:50 +02:00
Dmitry Batkovich
6f49be7fcc wrap with optional IDEA-122553 2016-03-25 13:50:03 +03:00
Anna Kozlova
532a22e4ed testdata fixed 2016-03-24 21:28:00 +01:00
Anna.Kozlova
7712f6e443 proceed static factories instead of constructors to calculate expected types when diamonds are used (IDEA-153520) 2016-03-24 18:14:17 +01:00
Anna.Kozlova
0e808d9aff highlight invalid method call: search for most probable argument-cause (IDEA-151202) 2016-03-24 15:58:41 +01:00
Bas Leijdekkers
af3365744c IDEA-38591 (Can't use "Create Local Var from instanceof" intention on multiple 'instanceof' with &&) 2016-03-24 15:36:14 +01:00
peter
419770e30d IDEA-153437 Do not suggest to loop over the loop variable (and don't duplicate "new") 2016-03-24 11:54:46 +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
a3b5e864db convert field to local: reject when field is used from javadoc (IDEA-153332) 2016-03-23 17:20:32 +01:00
Anna.Kozlova
9e8666f159 bind params to fields: accept field assignments if not exactly the parameter reference was assigned (IDEA-120320) 2016-03-23 17:20:32 +01:00
Anna.Kozlova
d935cfd941 change error message (IDEA-153156) 2016-03-22 19:37:27 +01:00
Anna.Kozlova
b1a0d687df old inference: include type parameter's bounds in result as intersection if inference from parent type was started (IDEA-153411) 2016-03-22 19:22:42 +01:00