Commit Graph

2244 Commits

Author SHA1 Message Date
Anna.Kozlova
ee4f41b14c don't open captures on type computation (IDEA-154968) 2016-04-20 17:49:29 +02:00
Anna.Kozlova
2dead05e6b treeWalkUp: stop at member level to avoid skipping anonymous classes 2016-04-19 20:02:32 +02:00
Anna.Kozlova
c09caae28e treat conditional expressions with new expressions with diamonds inside as poly
EA-76546 - assert: InferenceSessionContainer.treeWalkUp
2016-04-19 19:05:54 +02:00
Anna.Kozlova
abf32b50d5 don't calculate type of method expression which is located on the left side of assignment - assignment is invalid anyway
(EA-77049 - assert: PsiMethodCallExpressionImpl$TypeEvaluator.fun)
2016-04-19 19:05:54 +02:00
peter
a4aa1f2bd7 IDEA-152224 Unwrap if should check if there are conflicting variables 2016-04-19 14:00:30 +02:00
Anna.Kozlova
4c06b785c0 testdata for IDEA-154861 2016-04-18 12:54:50 +02:00
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
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
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
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
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
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
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
Anna.Kozlova
f6faa42d85 anonym -> lambda: reject refs to the next static from static field initializer 2016-03-21 21:11:36 +01:00
Anna.Kozlova
6fc9953a82 show error if uninitialized field is referenced from lambda inside inner/anonymous class in another field initializer; disable anonymous -> lambda for such places 2016-03-21 21:11:36 +01:00