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
Valentin Kipyatkov
f0d4d7bb86
Added correctness check of test data + fixed huge amount of incorrect code in test data
2020-04-18 01:24:54 +03:00
Valentin Kipyatkov
c19a16f1e0
Track lambda parameters in inbound data flow analysis
2020-04-18 01:24:54 +03:00
Valentin Kipyatkov
799b2d7291
Refactoring: abstraction of idea with "lambdaLevel" in slices
2020-04-18 01:24:54 +03:00
Valentin Kipyatkov
03e894f75d
Use partial body resolve
2020-04-18 01:24:53 +03:00
Valentin Kipyatkov
86c98b0d62
Refactoring
2020-04-18 01:24:53 +03:00
Valentin Kipyatkov
b4b58d1d99
Handling implicit receivers in InflowSlicer
2020-04-18 01:24:53 +03:00
Valentin Kipyatkov
90188ef44f
Data flow to/from here: supported expected/actual declarations and extension receivers
2020-04-18 01:24:52 +03:00
Valentin Kipyatkov
bfa3fb0589
Do not check scope for super declaration
2020-04-18 01:24:52 +03:00
Valentin Kipyatkov
179b59032a
Do not create JavaSliceUsage directly
2020-04-18 01:24:52 +03:00
Valentin Kipyatkov
0b2aff4e70
KT-38003 works for Java implementations of extension method
2020-04-18 01:24:52 +03:00
Valentin Kipyatkov
84c9692332
KT-38003 works for Java implementations too
2020-04-18 01:24:51 +03:00
Valentin Kipyatkov
2b83e3721a
KT-38003 "Analyze Data Flow from Here" should work on parameter of abstract method
...
#KT-38003 Fixed
2020-04-18 01:24:51 +03:00
Vladimir Dolzhenko
612629f3cb
Fix compilation AbstractTypingIndentationTestBase for 191
2020-04-17 22:41:18 +02:00
Vladimir Dolzhenko
5531ec3d28
Fix compilation AbstractTypingIndentationTestBase for 191
2020-04-17 21:36:36 +02:00
Alexander Udalov
4d7d407e87
Update bootstrap to 1.4.0-dev-6123
2020-04-17 18:34:45 +02:00
Alexander Udalov
72c52d37ae
Add some -X flags for compatibility to kotlin-reflect build
...
"-Xno-kotlin-nothing-value-exception" is needed to temporarily prevent
the problem happening in the composite build with Kotlin/Native
(ClassNotFoundException from KClassImpl.Data).
"-Xno-optimized-callable-references" is added just in case of any
similar problem.
2020-04-17 18:34:45 +02:00
Dmitriy Dolovov
a6064ecda6
[Commonizer] Generate correct TA types for callable descriptors
...
Issue #KMM-217
2020-04-17 23:08:01 +07:00
Ilya Matveev
2938b69ff5
[Gradle, native] Disable platform libraries generation by default
...
Since there are a lot of changes around klibs in 1.4-M2, it was
decided to postpone enabling user-side platform libraries generation
by default. This patch switches the default distribution type to
prebuilt.
It also slightly refactors the code allowing user to choose the
distribution type. Now, there are only two distribution types
available:
- prebuilt - the default type, contains prebuilt platform libs.
A distribution archive has the "-prebuilt-" classifier.
- light - doesn't contain platform libs in an archive and
generates them at the user side. The archive has no
classifier to avoid changes in the K/N build logic and
TC configurations.
The same types are also available for 1.3 but with sightly different
convention:
- prebuilt - the default type, contains prebuilt platform libs.
A distribution archive has no classifier.
- light - aka "restricted" distribution, doesn't contain
platform libs for Apple platforms. The archive has
the "-restricted-" suffix. Doesn't have a facility
to build the libraries at the user side.
Issue #KT-38174 Fixed
2020-04-17 20:07:00 +07:00
Ilya Matveev
7ee4f4853d
[Gradle, native] Rename native distribution kind: regular -> light
2020-04-17 20:06:42 +07:00
Ilya Kirillov
9c156c1a93
Wizard: run Gradle wrapper task in background
...
#KT-38225 fixed
2020-04-17 15:12:15 +03:00