Anna.Kozlova
779291d906
ensure fresh variables for the same context don't conflict by names (IDEA-196642)
2018-08-06 19:35:12 +02:00
Anna.Kozlova
fbb178fb85
inference: check intersection type for raw conversion separately (IDEA-196523)
2018-08-01 11:52:03 +02:00
Anna.Kozlova
16f0977481
diamonds: simulate resolved constructor with generated static factory (IDEA-195813)
2018-07-23 19:20:55 +02:00
Anna.Kozlova
378ea0e334
don't fail to attach fixes on invalid code
...
EA-122929 - IOE: PsiJavaParserFacadeImpl.createExpressionFromText
2018-07-16 10:43:52 +02:00
Anna.Kozlova
f739ddf3d4
inference: ensure all type parameters are processed on upUp bound incorporation (IDEA-194839)
2018-07-02 17:15:28 +02:00
Anna Kozlova
201de8dd01
redundant cast: trim too long messages (IDEA-182666)
2018-06-19 13:18:27 +03:00
Anna Kozlova
dc43909e2c
ensure no inference from not inferred var (IDEA-193828)
2018-06-13 21:00:17 +03:00
Anna Kozlova
c43b6f20de
completion: check parent overloads for constructor calls as well (IDEA-187354)
2018-06-05 17:13:42 +03:00
Anna Kozlova
ab271fcb5b
inference: partially resolve before erasure for target type inference
...
IDEA-192208
2018-05-28 18:54:01 +03:00
Anna Kozlova
c9d3d04e73
method ref: ensure capture conversion on first arg of second search
2018-05-22 15:48:15 +03:00
Anna.Kozlova
c4ada244b2
method refs: don't ignore applicability errors (IDEA-191467)
2018-05-17 11:28:24 +02:00
peter
de6c52c7a0
IDEA-187747 Suggest Collectors.joining() collector for String stream
2018-05-02 16:32:48 +02:00
Anna.Kozlova
51a2d549b2
highlight only method name on unhandled exception (IDEA-190912)
2018-04-25 21:11:38 +02:00
Anna.Kozlova
74f6d68ea3
inference for method references: register new variables for raw access
...
IDEA-189883, IDEA-188976: according to the 15.13.1 search for member is performed in the parameterization (non-raw) type which is a subtype of the first parameter type, in this case no additional variables are required as the type contains type arguments
2018-04-11 10:19:16 +02:00
Anna.Kozlova
aad9fe81c2
show error for type arguments on array creation (IDEA-189766)
2018-04-09 15:07:49 +02:00
Anna.Kozlova
686c13fd01
inference: fix index for non-proper captured wildcard bounds (IDEA-188487)
2018-03-19 17:48:41 +01:00
Anna.Kozlova
e75b0faed2
inference: ensure erasure flag is pushed to the container expression
...
IDEA-185316
2018-03-14 17:39:04 +01:00
Anna.Kozlova
51f6813ee3
valid static method reference on class's inheritor (IDEA-187974)
2018-03-09 11:44:47 +01:00
Anna.Kozlova
36b1e622eb
inference: skip bounds checking for captured fresh variables (IDEA-187943)
2018-03-08 19:06:30 +01:00
Anna.Kozlova
877b2424ce
inference: don't process lambda return expressions for void return type
...
those lambda return expressions can't influence containing call inference according to lambda constraint; which means that no additional inference variables could be propagated during inference process hence exception constraints could operate with proper types which are in fact type parameters - which would lead to unhandled exceptions on the top level (IDEA-187930)
2018-03-08 11:53:52 +01:00
Anna Kozlova
424081efe0
interface static methods in method refs by subclass error (IDEA-187330)
2018-03-07 08:02:41 +01:00
Anna Kozlova
f295742259
interface static methods in method refs by subclass error (IDEA-187330)
2018-03-07 08:02:41 +01:00
Anna.Kozlova
bca21ba8c6
inference: substitution for captures (IDEA-186844)
2018-02-19 18:36:42 +01:00
Tagir Valeev
4234f0d140
EffectiveFinal tests reported in IDEA-154224, IDEA-163280, IDEA-171790
2018-02-08 13:21:31 +07:00
Anna.Kozlova
be6d0a2981
false positive in redundant cast: applicable method with inference error (IDEA-186224)
2018-02-07 09:44:28 +01:00
Anna Kozlova
f1536bb969
use lambda to avoid context remapping (IDEA-185448)
...
for anonymous class this expressions have to be encoded to point to outer class, for lambda expressions there is no need for that. Leave unchanged (array initializer) for old java versions
2018-01-30 19:38:53 +03:00
Anna Kozlova
ca1d8a348c
postpone highlighting on conditions when errors occur on containing call
...
poly conditional expression receives type from context, if context contains errors, it's better to highlight those first (IDEA-185540)
2018-01-30 11:33:49 +03:00
Anna Kozlova
04b7efb5cd
don't calculate substitution for overload resolution applicability checks
2018-01-22 17:07:38 +03:00
Anna Kozlova
e037922937
applicability: get call expr from anonymous class (IDEA-184965)
2018-01-15 20:27:05 +01:00
peter
9c671df7d1
complete Collectors methods inside collect() call (IDEA-181449)
2018-01-08 18:52:37 +01:00
Anna.Kozlova
52bd45c9b2
reject functional expressions as conditional condition (IDEA-184667)
2018-01-08 17:05:50 +01:00
Anna.Kozlova
20ea015d3e
inference: ensure to distinguish new fresh variables of the same node
2017-12-22 10:05:44 +01:00
Anna.Kozlova
15020a138d
enum constants resolution cached (IDEA-183841)
2017-12-18 10:23:01 +01:00
peter
9ad8c63df4
java completion: lambda items should be higher than recently selected items (IDEA-183824)
2017-12-15 20:12:49 +01:00
Anna.Kozlova
9e20e117d6
skip inference for incompatible method references
...
EA-103416 - assert: PsiMethodReferenceCompatibilityConstraint.getSubstitutor
2017-12-14 18:45:49 +01:00
Anna.Kozlova
1d6641db80
overload resolution: check method hiding for static only (IDEA-183712)
...
non-static methods should already be covered by same signatures check
2017-12-13 14:10:59 +01:00
peter
beb4f6dba7
move completion suggestions before lambda only when they really match specific expected type (IDEA-183592)
2017-12-12 17:55:37 +01:00
Anna.Kozlova
1fc76eb779
calc types by applicability constraints if inference fails
...
include all inference variables for resolve and ignore additional constraints checks if the inference is going to failure; this way if (expr()) would get type of the 'standalone' expression instead of expression with boolean as expected type
2017-12-07 15:51:06 +01:00
Anna.Kozlova
6180b5b337
inference: check substituted intersection type during resolution
2017-12-06 14:54:24 +01:00
Anna.Kozlova
e67bf2488b
method references: do not prefer varargs from first search (IDEA-182018)
2017-11-13 16:41:50 +01:00
peter
76641748e0
java completion: prefer lambdas over method references (IDEA-181662)
2017-11-07 21:51:31 +01:00
Anna.Kozlova
a2e13fee96
inference: check glb conflicts after flatten in intersection type(IDEA-181017)
2017-10-25 18:01:56 +02:00
Anna.Kozlova
c8f8341d2f
don't treat static method as concrete in hierarchy (IDEA-180930)
2017-10-25 18:01:56 +02:00
Anna.Kozlova
6bb976899e
overload resolution: resolve conflicts with static methods in super interfaces
2017-10-24 10:57:06 +02:00
Anna.Kozlova
2658d37da0
inference: don't remember captured wildcard with non-proper bound (IDEA-180042)
...
later check could fail e.g. if bound was created inside one of nested session
2017-10-17 17:58:55 +02:00
Anna.Kozlova
bffca304b9
glb: ensure each super class processed once (IDEA-176779)
2017-10-17 11:48:38 +02:00
Anna.Kozlova
465458db4d
method references: don't fall to raw substitutor with second search (IDEA-180615)
2017-10-17 11:48:38 +02:00
Anna.Kozlova
250956f8b0
report inference error if resolution failed (IDEA-179978)
...
in the issue, non-vararg overload candidate was chosen cause it was not filtered as inapplicable
2017-10-13 10:47:47 +02:00
Anna.Kozlova
2f1a299401
captured of non-proper wildcard can't be used as solving bound (IDEA-180042)
2017-10-12 19:38:49 +02:00
Anna.Kozlova
14cb19fa39
overload resolution: accept unqualified calls of static interface methods (IDEA-180236)
2017-10-09 15:00:48 +02:00