Commit Graph

1207 Commits

Author SHA1 Message Date
Anna Kozlova
e287fd7576 [java] [inference]: avoid recursion guards in clients as they may prevent engine code to complete normally (IDEA-268120)
here highlighting got guarded and inference was unable to walk up to the containing call and failed because of that. Guard is needed for the case when the same code may be invoked *during* inference itself, corresponding guard exists already and mentioned in javadoc

GitOrigin-RevId: bdb8ba5056884d1b6869bd0d31c8482f77adb3a7
2021-05-27 23:14:57 +00:00
Anna Kozlova
358f9086ce java inference: allow unresolved type parameters during potential compatibility check (IDEA-268866)
GitOrigin-RevId: f38e13385d534b025f8072e29a3558b0f2ecf4e7
2021-05-24 17:22:45 +00:00
Anna Kozlova
8ccd8d71e4 java inference: tolerate raw upper bound (IDEA-229998)
GitOrigin-RevId: 90a888a80d9bd304fa908e5ae10a52ecc639752d
2021-05-06 08:45:13 +00:00
Anna Kozlova
e59155ed16 java: discard functional expressions with unbounded wildcards which type parameters depend on other type parameters (IDEA-267644)
old spec issue is still not resolved and most probably won't be resolved in the future as would lead to the incompatibilities

GitOrigin-RevId: be74d8ca83ce3c47d1e3dc9eb08de789fb881d2b
2021-04-29 21:40:00 +00:00
Anna Kozlova
89bf390fb1 java: highlight static import if interface method is not accessible (IDEA-262496)
GitOrigin-RevId: 8e45087f2b8a95b9333f835eb2779fac1b6fb764
2021-02-19 18:20:18 +00:00
Anna Kozlova
f355f4d8cd java overload resolution: don't cache anonymous class hierarchies (IDEA-261747)
during overload resolution it may lead to caching of a wrong hierarchy, because type of anonymous class with diamonds depends on the surrounding method call
possible optimization: reject caching only for classes with diamonds or only during overload resolution

GitOrigin-RevId: ebdb068fb9052741b8bba2b50e5faefcc541438c
2021-02-10 09:36:31 +00:00
Anna Kozlova
b5ae17aeda testdata for IDEA-250434
GitOrigin-RevId: 2971531084debcf848f19d970f9beec9b9f702ae
2021-01-21 21:46:43 +00:00
Anna Kozlova
ad18c7f009 java inference: setup initial constraints with respect of unchecked warning rules (IDEA-259701)
GitOrigin-RevId: e922b0cdfdecf6dfc3a50a334aa21e084aa1dd97
2021-01-18 14:29:55 +00:00
Anna Kozlova
0a73a79b70 diamonds: fix parent hunting inside anonymous class (IDEA-259666)
GitOrigin-RevId: 51f47646dbe68e9182b75e3058b0d1216ada92e6
2021-01-18 10:18:03 +00:00
Anna Kozlova
e9fb32668e overload resolution: don't reject first inapplicable vararg method
GitOrigin-RevId: 3e8246e5cbdab35327da0587aa62111b04f7dbed
2020-12-16 15:32:31 +00:00
Anna Kozlova
7d0ce7b928 overload resolution: N parameters of varargs target should be less than N parameters of corresponding interface (IDEA-257526)
GitOrigin-RevId: 811135c478f3f98fa1923f4b58c27d6ca0144939
2020-12-15 20:45:46 +00:00
Anna Kozlova
9970306c8f java method reference inference: keep additional inference variables when second search is not possible (IDEA-252839)
GitOrigin-RevId: 358b0408221aaf6e51dbf87867ae8f33ba0d0fde
2020-10-28 13:47:13 +00:00
Anna Kozlova
9355c487e2 reverted java highlighting: give up check of @PolymorphicSignature methods (IDEA-251449)
appeared to be a javac bug

GitOrigin-RevId: 1d17221830606f5bdc8d0db78fa97f94e9548799
2020-10-07 07:46:32 +00:00
Anna Kozlova
636bbda18f java highlighting: give up check of @PolymorphicSignature methods (IDEA-251449)
GitOrigin-RevId: cf986ee46e52d6cabfc309776559481d42e6c5ce
2020-09-25 19:53:53 +00:00
Tagir Valeev
044abd82e1 [java-highlighting] Avoid TextRange computation until necessary
GitOrigin-RevId: 8d2b32d3b5353a1ff4b855acc779d69907f935af
2020-09-23 11:13:43 +00:00
Anna Kozlova
0faebe5de7 java redundant cast: no semantic serialization when expected type is also serializable (IDEA-249705)
GitOrigin-RevId: 7ffe4dc7ef44099630afe65d7fb545337d982f7b
2020-09-21 20:35:20 +00:00
Anna Kozlova
cdbae12245 java redundant cast: check conditional poly expression after cast is removed (IDEA-251055)
GitOrigin-RevId: 32c2f18de0725a517f1ceb746edc8fa468b6fafa
2020-09-21 20:35:18 +00:00
Anna Kozlova
34526b2b5c java error message: explicit method reference ambiguity (IDEA-250654)
GitOrigin-RevId: 1fc5f577f298a7f874a111866a394aa7a6c09cc0
2020-09-14 18:40:35 +00:00
Anna Kozlova
056ee5b158 java overload resolution: check constructors by name of the containing class (IDEA-249525)
GitOrigin-RevId: 30fe9e5615f36361bba40b740719a274c9f6786b
2020-08-31 17:41:11 +00:00
Peter Gromov
0cb5839b13 IDEA-246339 Do not suggest stream methods on method reference completion
GitOrigin-RevId: a72a1bda98f47056b893c31b1d0f894df3ced82a
2020-07-22 15:09:00 +00:00
Peter Gromov
b8dc92e383 fix for EA-234762 - CCE: StreamConversion.generateStreamSuggestions (IDEA-CR-65315)
GitOrigin-RevId: 7c04c7efa0523bfeeb7fa2932ec7e9535ca23425
2020-07-22 15:08:59 +00:00
Peter Gromov
1182518e6b JavaFunctionalExpressionIndex: don't throw on invalid code with lambdas outside members
GitOrigin-RevId: b2fac86f104ebf9d7a79dfc8136a69e7343adbb4
2020-06-19 19:49:34 +03:00
Peter Gromov
112cdd0579 java completion: prefer method reference suggestions with exactly matching return type (IDEA-210581)
GitOrigin-RevId: 5522e5c103b72ea9d1a7c9ae860e504b6515b1da
2020-06-17 20:39:35 +03:00
Peter Gromov
1ab76a3b95 Skip some invalid/meaningless .stream().* completion suggestions (IDEA-243790)
GitOrigin-RevId: e02ac9f63fd6384ffe3f27f5c4825ddc3a5af58e
2020-06-17 19:18:12 +03:00
Peter Gromov
b9525d143e java completion: sort/filter suggestions after :: by their matching to the expected type (IDEA-166673)
GitOrigin-RevId: adaefc912e115826280976b23adee38483ca1f71
2020-06-17 17:01:52 +03:00
Peter Gromov
847bb51000 IDEA-188654 Stream API methods autocomplete
GitOrigin-RevId: c4e2caba222324726aad91148ab37c0acf4fd86a
2020-06-08 08:20:56 +00:00
Peter Gromov
29ef77afd0 IDEA-242422 ArrayIndexOutOfBoundsException in FunExprOccurrence
GitOrigin-RevId: d0b1b4e881c919d9e855f897452c371dd12f2a59
2020-06-03 15:56:48 +03:00
Anna Kozlova
0314adac6d java: redundant cast: don't check casts against non-denotable types
GitOrigin-RevId: ba1ac48a92057ae13f2694a6667e576ca1328134
2020-05-20 06:38:50 +00:00
Anna Kozlova
4b5272c14a java: redundant cast: check inference problems in cast operand
expected type (available after removing type cast) may add bounds for inference variables which would lead to errors after applying the fix

GitOrigin-RevId: 24a97411b7175cacabd8e81ed5711509195dfd4d
2020-05-15 20:27:18 +00:00
Anna Kozlova
2bc23faf05 java: redundant cast: preserve exact types for functional expressions
otherwise we may loose serialization or miss compilation errors in lambda body

GitOrigin-RevId: 180e0ee713a19c42abecf1228616bbd6754ea3b8
2020-05-15 08:33:44 +00:00
Anna Kozlova
c879ed4e4a java redundant cast: preserve multiple type casts around functional interface when if expected type is the same as cast
isAssignable check may fail otherwise

GitOrigin-RevId: d02c9d50645a2bbb0e957f077a4a66813c94afd6
2020-05-11 20:09:58 +00:00
Anna Kozlova
7f02ca14a9 java redundant cast: check conditional expression as call argument inplace
GitOrigin-RevId: ee7fa6ef4cac4e39e9dad97c7d5ace983bc81044
2020-05-11 08:33:17 +00:00
Anna Kozlova
e3bc888dc7 java redundant cast: cleanup checks for calls
GitOrigin-RevId: 2d999bc7356856ef7d2fea45f793d69f401f7256
2020-05-11 08:33:17 +00:00
Anna Kozlova
78891be4bb java redundant cast: cleanup: extract conditional
GitOrigin-RevId: ca95c0e70c197e27943596e91df8d526bbfbf1bb
2020-05-11 08:33:17 +00:00
Anna Kozlova
efc6106e02 java redundant cast: cleanup: avoid dbl cast registration for expressions with expected type
GitOrigin-RevId: a31b1d892b2e19bfaf556e85724eb244189111b4
2020-05-11 08:33:17 +00:00
Anna Kozlova
fdc80d017c java redundant cast: fixed multiple casts in synchronized stmt
GitOrigin-RevId: 49a7d8dbcd26a3aa905c57db97d386bcbd285464
2020-05-11 08:33:17 +00:00
Anna Kozlova
1c35803b4a java redundant cast: cleanup: extract foreach, instanceof, throws statements
GitOrigin-RevId: ac04ea8db453518f4c15d3e37e33d9a25a22ce35
2020-05-11 08:33:17 +00:00
Anna Kozlova
0a41902bda java redundant cast: normalize parenthesis
GitOrigin-RevId: 8069758686e0e76c3aed4d6851914315d29a493e
2020-05-05 21:49:48 +00:00
Anna Kozlova
c2ec0c2e78 java redundant cast: forbid changing of substitutor if cast is removed (IDEA-184330)
this way neighbour functional expressions can't be broken

GitOrigin-RevId: c13823eca79157030f3dde53fa6a6d496be9c2b7
2020-05-05 21:49:48 +00:00
Anna Kozlova
349c96eaee java redundant cast: allow warnings in poly conditional when target type remains the same
GitOrigin-RevId: f953fc42882a1eaad0b0a8c65d1e94236f0ec99e
2020-05-05 11:29:06 +00:00
Anna Kozlova
462856d81c java: ensure that lambda parameters are available inside lambdabody.copy() (IDEA-222542)
GitOrigin-RevId: b31c6c8484d8e77e96dfad104b08ce13631ddeaa
2020-05-05 07:04:28 +00:00
Anna Kozlova
02d7164d3b java redundant cast: check erased context (IDEA-205885)
GitOrigin-RevId: 1dd464c7b8feba43181c9e60472170b2bbbaa72e
2020-05-04 20:49:32 +00:00
Tagir Valeev
3643ee6506 Fixes according to review IDEA-CR-61871
GitOrigin-RevId: 206247808adba050a5839ee8ac0be790bb53c8ac
2020-04-24 08:26:53 +00:00
Tagir Valeev
ec8510b0a6 PsiPolyExpressionUtil#isBooleanOrNumericType: do not check bounds
JLS 15.25 says: ...has return type boolean or Boolean. or ...is convertible to a numeric type.
JLS 5.1.8 says:
A type is said to be convertible to a numeric type if it is a numeric type (§4.2), or it is a reference type that may be converted to a numeric type by unboxing conversion.

Nothing about bounds
PolyConditionalExpressionWithTargetPrimitive test behavior matches Java 9+ now (with --release=8)

GitOrigin-RevId: fa14e909ad623a3ab6bb8355bbbe396003cd782c
2020-04-23 08:56:21 +00:00
Peter Gromov
0b3f27a0af java: make resolveAllQualifiers go through RecursionManager to take advantage of its memoization (IDEA-236961)
GitOrigin-RevId: 1bfe281cbfaa8c6423a12313daf6f72aae738846
2020-04-17 06:14:17 +00:00
Anna Kozlova
641ac74ad8 java inference: support nested constraints inside code blocks (IDEA-237446)
GitOrigin-RevId: e865db7a88560615b1abca31b3ceefeb1ae76573
2020-04-14 12:01:57 +00:00
Anna Kozlova
d439f31f50 failing performance test for IDEA-236961
GitOrigin-RevId: 37ffa237be6c2c6965d8ce72854ef2976c6c837d
2020-04-14 09:20:37 +00:00
Anna Kozlova
0580ad0043 don't prohibit caching if overload resolution is impossible (IDEA-221094)
exactly one candidate is available

GitOrigin-RevId: 4c6d5b4eef79fb60af46d8d9db9f7e49adb2f8c4
2019-12-04 19:31:48 +00:00
Anna.Kozlova
4ad4e7d908 java overload resolution: fix NPE
found by property testing

GitOrigin-RevId: b45cb07402ad58a37886b7f1b5afb62bca2746fe
2019-12-04 09:38:15 +00:00
Anna.Kozlova
21e434894f java inference: stop when argument has no associated formal parameter
GitOrigin-RevId: cbc4e435f6e03bd06eac4dcf21196bdd61dc6c3d
2019-12-03 16:04:11 +00:00