Jinseong Jeon
1c1e8f7beb
FIR CFG: revise edge kind between local func node and fun enter node
...
so that local function enter node can be visited by FIR CFA
#KT-42814 Fixed
2020-10-21 14:01:31 +03:00
Dmitriy Novozhilov
bf1a00c73a
[FIR] Rework resolution of declaration statuses
...
There is introduced algorithm of resolution with jumps: before
resolution of some class we resolve all status of members of its
supertypes, so we can properly determine inherited visibility
and modifiers
2020-10-21 11:53:10 +03:00
Dmitriy Novozhilov
fc23cf76d4
[FIR] Force calculation of return type of fake overrides in return type calculator
2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov
f9faa5be64
[FIR] Don't force calculation of return type in substitution scope
2020-10-16 15:24:56 +03:00
Dmitriy Novozhilov
0b51fd03e2
[FIR] Add failing test for incorrect type calculation of implicit types
2020-10-16 15:24:56 +03:00
Jinseong Jeon
6fc3f7e776
FIR CFG: label edges from try-enter through finally block to exit target
2020-10-15 14:22:39 +03:00
Jinseong Jeon
43852ad7ab
FIR CFG: add edges from try/catch to finally
2020-10-15 14:22:39 +03:00
Pavel Kirpichenkov
ef44077cb7
[FIR] Restore variable fixation direction in call completion
...
Several tests are affected by the usage of fixation direction calculator in FIR.
Restored to mimimize test data changes.
It is unnecessary in FE10 because a type variable with unknown type
is inferred into an error type, but affects test data in FIR where
Nothing/Any is selected by direction (as a temporary measure).
CR candidate in spec test is Unresolved in FIR because top-level CRs are resolved as call arguments.
Resolution ambiguity is also present in FE10 when CR is wrapped into an id call.
2020-10-13 11:00:21 +03:00
Dmitriy Novozhilov
f794ced888
[FIR] Fix incorrect cluster creating in CFG dumps
2020-10-12 11:55:05 +03:00
Mikhail Glukhikh
64fb114c30
FIR Java annotations: create vararg or Array depending on parameter name
...
#KT-42346 Fixed
2020-10-06 12:13:58 +03:00
Mikhail Glukhikh
f6b49a2c9a
FirAnnotationArgumentChecker: handle conversion calls properly
2020-10-06 12:13:58 +03:00
Mikhail Glukhikh
6f432ea5dd
[FIR] Add problematic test for KT-42346 (double vararg in annotation)
2020-10-06 12:13:57 +03:00
Denis Zharkov
28c536e511
FIR: Add temporary workaround to avoid changes in test data
...
CallableId for intersection overrides has been changed in previous commits
and many rendered FIR test data needs to be changed
But, we're going to get rid of callableId's/or fix them back for intersection overrides soon
2020-10-01 17:49:02 +03:00
Dmitriy Novozhilov
cc4f72e032
[FIR] Capture type from type parameter upper bound when needed
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
9e4623c52b
[FIR] Fix resolution of calls on super to avoid resolve to interface methods
...
#KT-38400 Fixed
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
fb871a55a3
[FIR] Don't create backing field for property without explicit type
...
#KT-41977 Fixed
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
0c0a8f9849
[FIR] Properly pass type attributes for inference of lambda with type variable as expected type
...
#KT-41989 Fixed
#KT-37317 Fixed
2020-09-29 10:17:42 +03:00
Mikhail Glukhikh
fe8e3e99ab
[FIR Java] Hide function in scope in case it's an accessor by fact
...
#KT-42116 Fixed
2020-09-25 14:44:09 +03:00
Dmitriy Novozhilov
4ef57c120f
[FIR] Consider variance of type parameters during java type enhancement
...
#KT-41940 Fixed
2020-09-24 15:43:20 +03:00
Dmitriy Novozhilov
4d5e54cab6
[FIR] Unwrap definitely not null when matching overrides
...
#KT-41984 Fixed
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
896103b94b
[FIR] Properly resolve implicit invoke calls
...
#KT-41990 Fixed
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
40a9bb6eac
[FIR] Assume nullable types as good types for ILT approximation
...
#KT-41982 Fixed
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
0e91c8f048
[FIR] Create synthetic properties for members of java annotations
...
#KT-41939 Fixed
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
4374c06537
[FIR] Approximate all integer literals which resolved in independent mode
...
#KT-42016
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
5efd533f55
[FIR] Desugar unary plus and minus as part of integer literal
...
#KT-42016
2020-09-23 14:05:09 +03:00
Dmitriy Novozhilov
a274216f14
[FIR] Check that expected lambda type is extension function using cone expected type
...
#KT-41991 In progress
2020-09-23 14:05:09 +03:00
Dmitriy Novozhilov
57a57d10da
[FIR] Add rendering for attribites of cone types
2020-09-23 14:05:07 +03:00
Mikhail Glukhikh
b64b32e06b
FIR: keep captured types in substitution scope
2020-09-23 09:00:57 +03:00
Mikhail Glukhikh
b7059a3eeb
FIR: perform type approximation when completion isn't required
2020-09-23 09:00:57 +03:00
Dmitriy Novozhilov
a666eee67b
[FIR] Properly deserialize annotations on typealias and underlying type
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
73c8059884
[FIR] Properly deserialize arrays in annotation arguments
2020-09-17 17:23:25 +03:00
Лихолетов Михаил
cfc1ebb4be
[FIR] Support several annotation argument diagnostics
2020-09-16 16:53:31 +03:00
Mikhail Glukhikh
0c13d3197c
[FIR] Fix non-serializable type argument at the end of resolve
2020-09-16 16:53:29 +03:00
Mikhail Glukhikh
e4aaae9ae7
FIR call completion: approximate type argument types
...
This commit removes some captured / ILT types at the end of resolve
2020-09-14 18:08:28 +03:00
Mikhail Glukhikh
4605a65f41
[FIR] Good test data fixes (around captured types)
2020-09-14 17:56:39 +03:00
Dmitriy Novozhilov
def647c094
[FIR] Don't constraints for return expressions of lambda if it has Unit return type
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
3b941a8f43
[FIR] Complete types of array literals in annotations
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
1dc3c93efa
[FIR] Don't assume types with not found symbol as error types
2020-09-11 12:13:33 +03:00
Dmitriy Novozhilov
68f3d84e22
[FIR] Use CandidateApplicability from FE 1.0
2020-09-09 12:38:34 +03:00
vldf
f9a2d01d57
[FIR] Add UselessCallOnNotNullChecker
2020-09-03 14:28:57 +03:00
Mikhail Glukhikh
548adc29d0
[FIR] Enter loops in resolve using independent context
2020-09-03 14:24:31 +03:00
Mikhail Glukhikh
a7da0d5080
[FIR] Approximate exotic return types for public declarations
2020-09-03 14:24:31 +03:00
Jinseong Jeon
bf918e6184
FIR: hide local types if needed
2020-09-03 14:24:31 +03:00
Jinseong Jeon
e8157a5488
FIR: introduce & use various comparators to sort members while de/serialization
...
#KT-41018 fixed
2020-09-03 13:55:52 +03:00
Mikhail Glukhikh
5384ccf02f
[FIR] Introduce & use FirDelegatedMemberScope
2020-08-31 14:31:56 +03:00
Mikhail Glukhikh
ede910065a
[FIR] Add problematic resolve test case with delegated super call
2020-08-31 14:31:56 +03:00
Nick
bb18203ae6
[FIR] Various checkers performance fixes
2020-08-28 17:07:35 +03:00
Dmitriy Novozhilov
09ed0c3e82
[FIR-TEST] Update testdata
2020-08-28 10:59:54 +03:00
Dmitriy Novozhilov
b21a0213df
[NI] Get rid of FE 1.0 types in AbstractTypeApproximator
2020-08-28 10:59:51 +03:00
Simon Ogorodnik
2a4e1a0b99
[FIR] Clarify testData for invokes
2020-08-28 00:12:16 +03:00