Dmitriy Novozhilov
14db88cccb
[FIR] Fix double resolution of default property accessors
2020-04-03 10:08:21 +03:00
Dmitriy Novozhilov
9bdd5e47ac
[FIR] Fix equality for cfg nodes
2020-04-03 10:08:21 +03:00
Dmitriy Novozhilov
b90c8eb8ed
[FIR] Analyze annotations of local class before class itself
2020-04-03 10:08:20 +03:00
Dmitriy Novozhilov
1177a56815
[FIR] Don't resolve annotations twice
2020-04-03 10:08:20 +03:00
Dmitriy Novozhilov
28738971bc
[FIR] Add transformAnnotations for fir nodes
2020-04-03 10:08:19 +03:00
Dmitriy Novozhilov
3190793b62
[FIR] Add incoming edges to local class's property initializers
2020-04-03 10:08:19 +03:00
Dmitriy Novozhilov
c223ae03ba
[FIR] Don't analyze local classes twice
2020-04-03 10:08:19 +03:00
Dmitriy Novozhilov
119d5b3740
[FIR] Add incoming edge for all members of local class, not only implicit ones
2020-04-03 10:08:18 +03:00
Dmitriy Novozhilov
43e9cbbbf5
[FIR] Add parent graph to CFG
2020-04-03 10:08:18 +03:00
Dmitriy Novozhilov
6be554e765
[FIR] Rename ControlFlowGraph.owner to declaration
2020-04-03 10:08:17 +03:00
Dmitriy Novozhilov
8cb6e8f8af
[FIR] Add control flow graph for class initialization
2020-04-03 10:08:17 +03:00
Dmitriy Novozhilov
ad9e6517c7
[FIR] Add cfg nodes for classes
2020-04-03 10:08:17 +03:00
Dmitriy Novozhilov
74d86d82c6
[FIR] Add control flow graph to FirAnonymousInitializer
2020-04-03 10:08:16 +03:00
Dmitriy Novozhilov
8d3ee4f304
[FIR] Add cfg reference to classes
2020-04-03 10:08:16 +03:00
pyos
a75408b1ed
JVM_IR: use non-nullable types as SAM super types
...
The wrappers for conversions to nullable and non-nullable SAM types are
the same, so differentiating those has no effect other than class name
collisions.
2020-04-02 15:40:17 +02:00
Victor Petukhov
164f25937f
NI: take into account an extension function annotation during CST calculation
2020-04-02 15:28:35 +03:00
Jinseong Jeon
44c34ab8c3
[FIR2IR] Don't create fake overrides for private property accessors
2020-04-02 12:43:06 +03:00
Jinseong Jeon
3e6b38a921
[FIR] Fix type reference for 1st arg of GetClassCall
2020-04-02 12:42:50 +03:00
Denis Zharkov
4a5643856e
FIR: Extract fir.resolve.calls.tower package
2020-04-02 12:10:50 +03:00
Denis Zharkov
177abe9f87
FIR: Add fixes after review
2020-04-02 12:10:50 +03:00
Denis Zharkov
426609a133
FIR: Fix resolution for HideMembers level
2020-04-02 12:10:50 +03:00
Denis Zharkov
6cc6b9efcb
FIR: Fix overload resolution for some invoke cases
...
Namely, it's about the cases when there are multiple variable candidates
with the same priority and all of them should be collected and compared
2020-04-02 12:10:50 +03:00
Denis Zharkov
bcd79c1e2e
FIR: Drop unused TowerGroup.Weakened
2020-04-02 12:10:50 +03:00
Denis Zharkov
328740f8e1
FIR: Minor. Use copy in CallInfo
2020-04-02 12:10:50 +03:00
Denis Zharkov
7fc0655849
FIR: Refactor CandidateCollector
2020-04-02 12:10:50 +03:00
Denis Zharkov
b52dd8e680
FIR: Extract processLevelForRegularInvoke
2020-04-02 12:10:50 +03:00
Denis Zharkov
19e0cf570c
FIR: Cleanup MemberScopeTowerLevel
2020-04-02 12:10:50 +03:00
Denis Zharkov
9abe669443
FIR: Fix resolution for invokes on class qualifiers
2020-04-02 12:10:50 +03:00
Denis Zharkov
10531d2874
FIR: Refactor createExplicitReceiverForInvoke
2020-04-02 12:10:50 +03:00
Denis Zharkov
b83ffe83fa
FIR: Minor. Add comments
2020-04-02 12:10:50 +03:00
Denis Zharkov
90d82e201e
FIR: Get rid of lateinit property in CandidateFactoriesAndCollectors
2020-04-02 12:10:50 +03:00
Denis Zharkov
80c64207f7
FIR: Rename CallResolutionContext -> CandidateFactoriesAndCollectors
2020-04-02 12:10:50 +03:00
Denis Zharkov
4053978609
FIR: Refactor FirTowerResolverSession and LevelHandler
...
- Move enqueuing invoke lookups to FirTowerResolverSession
- Simplify state for LevelHandler (it almost could be a plain function)
2020-04-02 12:10:50 +03:00
Denis Zharkov
31c6cf3106
FIR: Clean up code in LevelHandler
2020-04-02 12:10:50 +03:00
Denis Zharkov
063795f280
FIR: Minor. Move createExplicitReceiverForInvoke out of the class
2020-04-02 12:10:50 +03:00
Denis Zharkov
3e32f21e7e
FIR: Replace extension receiver with explicit parameter
...
It will help to make code more explicit in the following commits
2020-04-02 12:10:50 +03:00
Denis Zharkov
b97ce3d6ef
FIR: Extract function in TowerLevelHandler
2020-04-02 12:10:50 +03:00
Denis Zharkov
36d3abad51
FIR: Get rid of relation from LevelHandler to FirTowerResolver
2020-04-02 12:10:50 +03:00
Denis Zharkov
123bcdb0ad
FIR: Move some responsibilities of TowerResolveManager to FirTowerResolverSession
2020-04-02 12:10:50 +03:00
Denis Zharkov
a39dbe8eec
FIR: Declare manager as a property inside FirTowerResolverSession
2020-04-02 12:10:50 +03:00
Denis Zharkov
f8227e4cb9
FIR: Extract FirTowerResolverSession
...
The idea of that class is separating lots of data from a component
to a short-living instance
2020-04-02 12:10:50 +03:00
Denis Zharkov
60cbc5fa39
FIR: Extract LevelHandler and CallResolutionContext from TowerManager
2020-04-02 12:10:50 +03:00
Denis Zharkov
08ee76b103
FIR: Introduce FirTowerResolver.implicitReceiversUsableAsValues
2020-04-02 12:10:50 +03:00
Denis Zharkov
e936c03839
FIR: Extract processScopeForExplicitReceiver
2020-04-02 12:10:50 +03:00
Denis Zharkov
9cd8432c92
FIR: Minor. Formatting
2020-04-02 12:10:50 +03:00
Denis Zharkov
2e631052f6
FIR: Drop redundant main function
2020-04-02 12:10:50 +03:00
Denis Zharkov
5c61211e65
FIR: Extract LevelHandler.processInvokeReceiversCandidates
2020-04-02 12:10:50 +03:00
Denis Zharkov
a5c3e4bfd4
FIR: Extract some parts from FirTowerResolver and cleanup
2020-04-02 12:10:50 +03:00
Denis Zharkov
7843f7d3f0
FIR: Minor. Reuse processExtensionsThatHideMembers
2020-04-02 12:10:50 +03:00
Denis Zharkov
aeb3354a5b
FIR: Extract ReceiverValue.toMemberScopeTowerLevel
2020-04-02 12:10:50 +03:00