Commit Graph

2217 Commits

Author SHA1 Message Date
Mikhail Glukhikh f3f7bf70f6 [FIR] Set delegate field receiver properly 2020-04-03 13:29:55 +03:00
Mikhail Glukhikh 036b6c63f6 [FIR] During resolve, set correctly property reference type in delegate 2020-04-03 13:18:47 +03:00
Mikhail Glukhikh 58e00400f1 [FIR2IR] Support PROPERTY_REFERENCE_FROM_DELEGATE origin 2020-04-03 13:05:13 +03:00
Mikhail Glukhikh 5f8fadb220 [FIR2IR] Remove GET_PROPERTY origin from delegate field reads 2020-04-03 13:04:56 +03:00
Jinseong Jeon 94749855b9 FIR: fix visibility extension for fake override. 2020-04-03 13:03:50 +03:00
Dmitriy Novozhilov d620802a18 [FIR] Add equals and hashCode to ConeCapturedType 2020-04-03 10:09:13 +03:00
Dmitriy Novozhilov 7dd91df10b [FIR] Don't analyze with DFA already analyzed classes 2020-04-03 10:08:26 +03:00
Dmitriy Novozhilov 0b2536199b [FIR] Don't analyze delegated constructor calls twice 2020-04-03 10:08:25 +03:00
Dmitriy Novozhilov 20d0e8647d [FIR] Pass data flow to init blocks of local classes 2020-04-03 10:08:25 +03:00
Dmitriy Novozhilov 16b5b2dcef [FIR] Add symbol to FirAnonymousInitializer 2020-04-03 10:08:24 +03:00
Dmitriy Novozhilov bcd2e5ed2c [FIR] Add control flow graph to inplace lambdas 2020-04-03 10:08:24 +03:00
Dmitriy Novozhilov 1d39270b3e [FIR] Don't pass data flow to property accessors of non local classes 2020-04-03 10:08:24 +03:00
Dmitriy Novozhilov 1d1b8d3290 [FIR-TEST] Update cfg dumps according to previous commits 2020-04-03 10:08:23 +03:00
Dmitriy Novozhilov 6faf364a46 [FIR] Update cfg renderer
Now it renderers all subgraphs for each graph
2020-04-03 10:08:23 +03:00
Dmitriy Novozhilov d1422dbf9f [FIR] Don't pass analyzed lambda to data flow analyzer 2020-04-03 10:08:22 +03:00
Dmitriy Novozhilov 68b5e4d13f [FIR] Choose right cfg owner for postponed lambdas 2020-04-03 10:08:22 +03:00
Dmitriy Novozhilov 9fa0a2cc77 [FIR] Drop subgraphs of lambda arguments of delegate calls 2020-04-03 10:08:21 +03:00
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