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
pyos
5954db18cb
JVM_IR: fix lifting of arguments to object super constructors
...
If the arguments are reordered, they can not only be reads of temporary
variables, but also implicit type casts of said reads.
Fixes #KT-42002
2020-09-23 13:49:16 +02: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
08b5f3ddde
[FIR] Remove unused list with java.lang.Object member names
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
a8e81e9ad1
[FIR] Add special node for implicit invoke calls
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
696c8f07b4
[FIR] Add pretty toString to CallKind
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
f069857492
[FIR] Cleanup annotations transform in FirExpressionsResolveTransformer
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
da3a676c2a
[FIR] Get rid of FirIntegerLiteralTypeScope and corresponding stuff
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
a018847f85
[FIR] Properly deserialize type attributes for type arguments
...
#KT-41991 Fixed
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