Ilya Matveev
5f53986f47
[klibs] Allow resolving klibs which names are not valid file names
2020-04-19 19:08:43 +07:00
Abduqodiri Qurbonzoda
3a99b3d5a4
Small refactoring to use Family.CodeExtension.size when appropriate
2020-04-19 07:59:09 +03:00
Abduqodiri Qurbonzoda
0d5ec27ac4
toHashSet is suboptimal for inputs with a lot of duplicates #KT-23142
2020-04-19 07:58:49 +03:00
Georgy Bronnikov
2c4fcebfec
IR: handle adapted bound references
2020-04-18 20:31:57 +03:00
Vladimir Dolzhenko
1827465f48
Convert KotlinNativeABICompatibilityChecker into a startup activity
...
Relates to #KT-38318
2020-04-18 11:39:53 +02:00
Vladimir Dolzhenko
6fe800eea0
Convert KotlinNativeABICompatibilityChecker into a startup activity
...
Relates to #KT-38318
2020-04-18 11:36:35 +02:00
Vladimir Dolzhenko
86a02c07f6
Fix KotlinNativeABICompatibilityChecker.getLibrariesToNotifyAbout freeze
...
Get rid of O(n^2) in copyProperties
make ModuleProductionSourceInfo.stableName lazy
add checkCanceled in loops in IdeaModelInfosCache
#KT-38318 Fixed
2020-04-18 11:36:21 +02:00
Alexey Tsvetkov
06275a201c
JPS: remove outputs for additional dirty files for current iteration
...
JPS does not remove output files for files marked as dirty
for current iteration. This is a problem for adding complementary files
during JPS MPP IC.
If output files are not removed, the compiler might raise an error
for duplicated actual declarations.
2020-04-18 06:05:44 +03:00
Alexey Tsvetkov
4ccec5218f
Remove dirty output files when expanding IC scope early
...
Previously IC could go to the next iteration without removing
outputs for the files compiled during the last iteration.
For example, it could happen, when a multifile part is changed
(we add sources for other parts and recompile everything together).
In case of MPP it could lead to compile error, because
the compiler would see the same actual declarations from dirty sources
and dirty outputs from previous iteration (which should have been removed).
That behaviour did not raise an error before dc8240c24e
because actual declarations from binaries (e.g. compile classpath) were ignored.
#KT-35957 Fixed
2020-04-18 06:05:44 +03:00
Alexey Tsvetkov
2442abadc3
Add test for KT-35957
2020-04-18 06:05:44 +03:00
Alexey Tsvetkov
876d6d209f
Minor: move non-JPS MPP IC tests under incremental/mpp dir
2020-04-18 06:05:44 +03:00
Valentin Kipyatkov
e1ee75c864
Fix to avoid test flickering (SlicerNullnessGroupingTestGenerated.testInlineFunctionManyCalls())
2020-04-18 01:25:05 +03:00
Valentin Kipyatkov
e6cfced54a
Don't collect all usages at once
2020-04-18 01:25:05 +03:00
Valentin Kipyatkov
31a1b2ddd3
No BodyResolveMode.FULL in slicer
2020-04-18 01:25:05 +03:00
Valentin Kipyatkov
91a793d575
Slicer tree view: better highlighting range inside nodes and in the editor
2020-04-18 01:25:04 +03:00
Valentin Kipyatkov
64fec54c48
Slicer: underline element range in addition to bold font (better do it in IDEA code)
2020-04-18 01:25:04 +03:00
Valentin Kipyatkov
03126ba469
Container presentation in slicer tree: no type for properties and show accessor
2020-04-18 01:25:04 +03:00
Valentin Kipyatkov
2ee776a0d8
Container presentation in slicer tree: limit number of parameters shown by 2
2020-04-18 01:25:03 +03:00
Valentin Kipyatkov
3e5820e4c1
Slice tree: shorter container rendering for properties in primary constructor
2020-04-18 01:25:03 +03:00
Valentin Kipyatkov
23ead3c805
Added container text into slicer tests output
2020-04-18 01:25:03 +03:00
Valentin Kipyatkov
2d2d9337ca
Do not include line numbers from librarys source into test output otherwise it will change to often when upgrading libs
2020-04-18 01:25:02 +03:00
Valentin Kipyatkov
d6e8cdebfb
Fixing compilation in bunch 201
2020-04-18 01:25:02 +03:00
Valentin Kipyatkov
411f2c833c
Process inline functions from libraries (if sources available) + process source libraries if analysis scope includes them
2020-04-18 01:25:02 +03:00
Valentin Kipyatkov
06de3de1a6
Do not show doc-comment references in data flow
2020-04-18 01:25:01 +03:00
Valentin Kipyatkov
84a786dde3
Renames and test output format improvement
2020-04-18 01:25:01 +03:00
Valentin Kipyatkov
33082d8661
Added missing text in the tree rendering
2020-04-18 01:25:01 +03:00
Valentin Kipyatkov
63095f9ec9
Handling of method references
2020-04-18 01:25:00 +03:00
Valentin Kipyatkov
7dd30eb943
Support other kinds of variables for invoke receiver
2020-04-18 01:25:00 +03:00
Valentin Kipyatkov
5a7f74c250
Extracted method
2020-04-18 01:25:00 +03:00
Valentin Kipyatkov
8a1ea7b45e
One more test
2020-04-18 01:24:59 +03:00
Valentin Kipyatkov
cc6090347a
Handling other types of expressions as invoke receiver
2020-04-18 01:24:59 +03:00
Valentin Kipyatkov
bf79c3f279
Minor
2020-04-18 01:24:59 +03:00
Valentin Kipyatkov
9624f8afa3
Flaky test?
2020-04-18 01:24:59 +03:00
Valentin Kipyatkov
67021d23e2
Minor
2020-04-18 01:24:58 +03:00
Valentin Kipyatkov
f3b26e1c9a
Correct detection of parameter index or receiver from invoke call
2020-04-18 01:24:58 +03:00
Valentin Kipyatkov
83ef8def4d
Hacked SliceNullnessAnalyzerBase from IDEA to take into account SliceUsage.isLeaf() and give reasonable and stable results for Kotlin
2020-04-18 01:24:58 +03:00
Valentin Kipyatkov
e4d9801388
Process only correct implicit receivers
2020-04-18 01:24:58 +03:00
Valentin Kipyatkov
fdfae5260f
Parameter to receiver
2020-04-18 01:24:57 +03:00
Valentin Kipyatkov
04d4f7444e
Tracking of receiver for incoming lambda's for outflow analysis + better handling of invoke and operator calls
2020-04-18 01:24:57 +03:00
Valentin Kipyatkov
8f01427534
Tracking of incoming lambda's for outflow analysis
2020-04-18 01:24:57 +03:00
Valentin Kipyatkov
a09a9a65ff
Special handling of inline function to track values from individual calls
2020-04-18 01:24:57 +03:00
Valentin Kipyatkov
269420a0e0
Processing implicit extension receiver usages in outflow processing
2020-04-18 01:24:56 +03:00
Valentin Kipyatkov
5040d37e2f
Code refactoring
2020-04-18 01:24:56 +03:00
Valentin Kipyatkov
6928700320
Moving declarations
2020-04-18 01:24:56 +03:00
Valentin Kipyatkov
52ff1c62dd
Tracking of implicit receiver from enclosing lambda
2020-04-18 01:24:56 +03:00
Valentin Kipyatkov
4e88e2697c
Replaced [LAMBDA OUT] in test data to [LAMBDA CALLS] which is less confusing
2020-04-18 01:24:55 +03:00
Valentin Kipyatkov
7bcd6619cf
Tracking inflow of lambda receiver
2020-04-18 01:24:55 +03:00
Valentin Kipyatkov
61d4383cb9
Merged LambdaResultOutflowBehaviour and LambdaCallsBehaviour into one
2020-04-18 01:24:55 +03:00
Valentin Kipyatkov
1e39d4a63c
Code refactoring + better handling of incoming data flow to java super methods
2020-04-18 01:24:55 +03:00
Valentin Kipyatkov
b5b0fd62a9
Track anonymous function parameters in inbound data flow analysis as well
2020-04-18 01:24:54 +03:00