Ilya Kirillov
1c0bbaf225
FIR: add ensureResolved to FirExposedVisibilityDeclarationChecker
2020-09-23 21:41:53 +03:00
Ilya Kirillov
04fca93b1e
FIR IDE: fix completion on parenthesized expression
2020-09-23 21:41:52 +03:00
Ilya Kirillov
879cf3b049
FIR IDE: do not fail whole completion on exception in lookup element creation
2020-09-23 21:41:52 +03:00
Ilya Kirillov
e9fb79741a
FIR IDE: fix completion in initializer
2020-09-23 21:41:51 +03:00
Roman Golyshev
1ab6595ae2
FIR Completion: Use name filtering in completion contributor
2020-09-23 21:41:51 +03:00
Roman Golyshev
75d8710bf6
FIR IDE: Add name filtering to scope KtScope and implementations
2020-09-23 21:41:50 +03:00
Roman Golyshev
dc600e3caf
FIR IDE: Fix buildKtType for ConeDefinitelyNotNullType
2020-09-23 21:41:49 +03:00
Ilya Kirillov
74298aae32
FIR IDE: invalidate sessions on exception
2020-09-23 21:41:48 +03:00
Ilya Kirillov
a743b80d17
FIR IDE: reuse up-to-date fir sessions
2020-09-23 21:41:47 +03:00
Ilya Kirillov
22c2d34b14
FIR IDE: add debug info when can not build KtType
2020-09-23 21:41:46 +03:00
Ilya Kirillov
a52262bf97
FIR IDE: run completion resolve under lock
2020-09-23 21:41:45 +03:00
Ilya Kirillov
f1c808384e
FIR IDE: do not resolve symbols by transitive module dependencies
2020-09-23 21:41:44 +03:00
Ilya Kirillov
01875635db
FIR IDE: do not resolve whole firFile in completion
2020-09-23 21:41:44 +03:00
Ilya Kirillov
2cfbfabe04
FIR IDE: do not recreate transformer phases & ScopeSession
2020-09-23 21:41:42 +03:00
Ilya Kirillov
9a99703f24
FIR IDE: implement incremental function analysis
2020-09-23 21:41:41 +03:00
Ilya Kirillov
8bcba00bb7
FIR IDE: do not resolve declarations if they are already resolved when we are inside lock
2020-09-23 21:41:40 +03:00
Ilya Kirillov
fc64d8d5e8
FIR IDE: reanalyse dependent modules only then they change
2020-09-23 21:41:40 +03:00
Ilya Kirillov
07be30c5db
FIR IDE: separate fir session for current module from dependent modules session
2020-09-23 21:41:39 +03:00
Ilya Kirillov
ab897752de
FIR IDE: remove invalid comments from FirIdeSessionFactory
2020-09-23 21:41:39 +03:00
Ilya Kirillov
4045c8fbf4
FIR IDE: fix invalid order of classes in classIdIfNonLocal
2020-09-23 21:41:38 +03:00
Ilya Kirillov
766063ba77
FIR IDE: optimize search for FirDeclaration by KtDeclaration
2020-09-23 21:41:37 +03:00
Ilya Kirillov
36e57545e8
FIR IDE: simplify psiModificationTrackerBasedCachedValue
2020-09-23 21:41:36 +03:00
Ilya Kirillov
73451b1616
FIR IDE: reresolve libraries only when they change
2020-09-23 21:41:35 +03:00
Ilya Kirillov
c48cc615dd
FIR IDE: use KtAnalysisSession as receiver
2020-09-23 21:41:35 +03:00
Ilya Kirillov
d4786e06a9
FIR IDE: ignore PCE when running lazy resolve phase
2020-09-23 21:41:34 +03:00
Ilya Kirillov
9130392eb9
FIR IDE: resolve symbol to status to get it modality
2020-09-23 21:41:34 +03:00
Ilya Kirillov
0c47d42659
FIR IDE: add failing multiModuleLazyResolve test
2020-09-23 21:41:33 +03:00
Ilya Kirillov
a3a59131b5
FIR IDE: fix passing whenWithHeiarchy test
2020-09-23 21:41:32 +03:00
Roman Golyshev
6d0a5a0bb2
KT-41346 Implement NoReorderImplementation without reordering
...
- See the documentation for `DeserializedMemberScopeHelper` for the full
info about the fix and the issue
- Add `preserveDeclarationsOrdering` setting to
`DeserializationConfiguration`
- Enable this setting in `DeserializerForClassfileDecompiler`
- Also, use `List` instead of `Collection` to pass members to
`DeserializedMemberScope`. It is done to emphasize that the order of
the members is important and may be used
- Review: https://jetbrains.team/p/kt/review/1627
- ^KT-41346 Fixed
2020-09-23 15:27:51 +00:00
Roman Golyshev
bf371ff98a
KT-41346 Refactor computeNonDeclared*
...
Change the signature of the `computeNonDeclared*` methods so they expect
mutable lists - it better suits their contracts. Also, add a little
documentations about the contract
Also, change `Collection` to `List` for incoming protos to `emphasize`
that their order might be used
2020-09-23 15:27:50 +00:00
Roman Golyshev
b1097c49d3
KT-41346 Move Implementation to DeserializedMemberScope
2020-09-23 15:27:49 +00:00
Roman Golyshev
5596bf33d8
KT-41346 Move related code to OptimizedImplementation
...
This does not change any semantics, only moves the code around
2020-09-23 15:27:49 +00:00
Roman Golyshev
c8878f862d
KT-41346 Introduce inner OptimizedImplementation class
...
Make it implement `Implementation` and move definitions
there
2020-09-23 15:27:48 +00:00
Roman Golyshev
683dd57f24
KT-41346 Extract Implementation interface
...
This is a temporary interface to make refactoring easier
2020-09-23 15:27:47 +00:00
Roman Golyshev
341a7478ed
KT-41346 Move removing non-available functions to protected method
...
This would allow to stricten contract on `computeNonDeclaredFunctions`
2020-09-23 15:27:47 +00:00
Roman Golyshev
4f4c25ca5e
KT-41346 Cleanup DeserializedMemberScope
2020-09-23 15:27:46 +00:00
Ilya Kirillov
622f71bd65
Fix binary compatibility with AS
...
#KT-42061 fixed
2020-09-23 18:25:07 +03:00
Dmitry Petrov
1c4567c999
Add tests for KT-40152
2020-09-23 18:14:21 +03:00
Dmitry Petrov
cd37301ea2
Minor: TARGET_BACKEND=JVM in JVM-specific tests
2020-09-23 18:14:21 +03:00
Dmitry Petrov
99dbeecc40
Some more bytecode listing tests for JVM_IR
2020-09-23 18:14:20 +03:00
Victor Petukhov
25ea3df5ca
Put fix in 9123c4f73baf77f8a50dede6c890c46f5ffafd6c under the inference compatibility flag
2020-09-23 17:15:58 +03:00
Victor Petukhov
bfb46befa5
Mark projection of a nullable captured type as not null during simplification constrains with it and a nullable type variable
...
^KT-41913 Fixed
2020-09-23 17:15:57 +03:00
Dmitriy Novozhilov
0f868ff83f
[TEST] Regenerate tests
2020-09-23 17:12:14 +03:00
Alexander Udalov
84df996204
JVM IR: fix "step over" for inline function calls in conditions
...
Reimplement the same hacky approach used in the old backend (see
cc2fe6b0c6 ).
Previously, the debugger incorrectly stepped into Collections.kt on
"step over" inline function calls from stdlib like 'any'.
Since `if` and `when` expressions are represented the same way in IR,
the behavior is fixed for both of them. It's not the case in the old JVM
backend, where stepping over `when` conditions still suffers from the
same problem, which the newly added test checks.
2020-09-23 15:54:15 +02:00
Toshiaki Kameyama
4144adf4ee
Make internal: don't suggest in interface
...
#KT-35346 Fixed
2020-09-23 15:34:09 +02:00
Toshiaki Kameyama
6e8565917e
MapGetWithNotNullAssertionOperatorInspection: decrease severity to INFORMATION
...
#KT-33096 Fixed
2020-09-23 14:52:14 +02:00
Dmitriy Novozhilov
5e73e28695
[FIR-TEST] Fix psi consistency test due to 5efd533f
2020-09-23 15:32:09 +03:00
Dmitriy Novozhilov
10e7c0f1b2
[TEST] Fix long literal in testdata broken in 4374c06
2020-09-23 15:22:03 +03:00
Toshiaki Kameyama
a2bde2ffb2
Redundant overriding method: do not report when super method is not called
...
#KT-34959 Fixed
2020-09-23 14:12:06 +02:00
Roman Artemev
76ed09482f
[IR BE] Fix inline class lowering
...
- provide additional type parameters from context when transforming
constructor into static function.
- fix KT-41771
- add test
2020-09-23 14:49:38 +03:00