Process inline functions from libraries (if sources available) + process source libraries if analysis scope includes them

This commit is contained in:
Valentin Kipyatkov
2020-04-13 13:50:42 +03:00
parent 06de3de1a6
commit 411f2c833c
35 changed files with 408 additions and 345 deletions
@@ -1,60 +1,60 @@
35 <bold>"D"</bold>.letNoInline {
3 fun <bold>Any</bold>.extensionFun() {
36 <bold>it</bold>.extensionFun()
35 [LAMBDA CALLS ARGUMENT #0] "D".letNoInline <bold>{</bold>
58 [LAMBDA CALLS ARGUMENT #0] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
59 return block(<bold>this</bold>)
58 fun <T, R> <bold>T</bold>.letNoInline(block: (T) -> R): R {
35 <bold>"D"</bold>.letNoInline {
36 <bold>"D"</bold>.letNoInline {
4 fun <bold>Any</bold>.extensionFun() {
37 <bold>it</bold>.extensionFun()
36 [LAMBDA CALLS ARGUMENT #0] "D".letNoInline <bold>{</bold>
55 [LAMBDA CALLS ARGUMENT #0] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
56 return block(<bold>this</bold>)
55 fun <T, R> <bold>T</bold>.letNoInline(block: (T) -> R): R {
36 <bold>"D"</bold>.letNoInline {
39 <bold>"C"</bold>.letNoInline {
3 fun <bold>Any</bold>.extensionFun() {
36 <bold>it</bold>.extensionFun()
35 [LAMBDA CALLS ARGUMENT #0] "D".letNoInline <bold>{</bold>
58 [LAMBDA CALLS ARGUMENT #0] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
59 return block(<bold>this</bold>)
58 fun <T, R> <bold>T</bold>.letNoInline(block: (T) -> R): R {
39 <bold>"C"</bold>.letNoInline {
40 <bold>"C"</bold>.letNoInline {
4 fun <bold>Any</bold>.extensionFun() {
37 <bold>it</bold>.extensionFun()
36 [LAMBDA CALLS ARGUMENT #0] "D".letNoInline <bold>{</bold>
55 [LAMBDA CALLS ARGUMENT #0] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
56 return block(<bold>this</bold>)
55 fun <T, R> <bold>T</bold>.letNoInline(block: (T) -> R): R {
40 <bold>"C"</bold>.letNoInline {
27 <bold>"A"</bold>.let {
3 fun <bold>Any</bold>.extensionFun() {
28 <bold>it</bold>.extensionFun()
27 [LAMBDA CALLS ARGUMENT #0] "A".let <bold>{</bold>
49 (INLINE CALL let) [LAMBDA CALLS ARGUMENT #0] inline fun <T, R> T.let(<bold>block: (T) -> R</bold>): R {
50 (INLINE CALL let) return block(<bold>this</bold>)
49 (INLINE CALL let) inline fun <T, R> <bold>T</bold>.let(block: (T) -> R): R {
27 <bold>"A"</bold>.let {
28 <bold>"A"</bold>.let {
4 fun <bold>Any</bold>.extensionFun() {
29 <bold>it</bold>.extensionFun()
28 [LAMBDA CALLS ARGUMENT #0] "A".let <bold>{</bold>
108 (INLINE CALL let) [LAMBDA CALLS ARGUMENT #0] public inline fun <T, R> T.let(<bold>block: (T) -> R</bold>): R {
112 (INLINE CALL let) return block(<bold>this</bold>)
108 (INLINE CALL let) public inline fun <T, R> <bold>T</bold>.let(block: (T) -> R): R {
28 <bold>"A"</bold>.let {
19 withNoInline(<bold>1</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
19 [LAMBDA CALLS RECEIVER] withNoInline(1) <bold>{</bold>
53 [LAMBDA CALLS RECEIVER] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
54 val result = <bold>receiver</bold>.block()
53 fun <T, R> withNoInline(<bold>receiver: T</bold>, block: T.() -> R): R {
19 withNoInline(<bold>1</bold>) {
20 withNoInline(<bold>1</bold>) {
4 fun <bold>Any</bold>.extensionFun() {
20 [LAMBDA CALLS RECEIVER] withNoInline(1) <bold>{</bold>
50 [LAMBDA CALLS RECEIVER] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
51 val result = <bold>receiver</bold>.block()
50 fun <T, R> withNoInline(<bold>receiver: T</bold>, block: T.() -> R): R {
20 withNoInline(<bold>1</bold>) {
7 with(<bold>123</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
7 [LAMBDA CALLS RECEIVER] with(123) <bold>{</bold>
44 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
45 (INLINE CALL with) val result = <bold>receiver</bold>.block()
44 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
7 with(<bold>123</bold>) {
8 with(<bold>123</bold>) {
4 fun <bold>Any</bold>.extensionFun() {
8 [LAMBDA CALLS RECEIVER] with(123) <bold>{</bold>
45 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
46 (INLINE CALL with) val result = <bold>receiver</bold>.block()
45 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
8 with(<bold>123</bold>) {
23 withNoInline(<bold>2</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
19 [LAMBDA CALLS RECEIVER] withNoInline(1) <bold>{</bold>
53 [LAMBDA CALLS RECEIVER] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
54 val result = <bold>receiver</bold>.block()
53 fun <T, R> withNoInline(<bold>receiver: T</bold>, block: T.() -> R): R {
23 withNoInline(<bold>2</bold>) {
24 withNoInline(<bold>2</bold>) {
4 fun <bold>Any</bold>.extensionFun() {
20 [LAMBDA CALLS RECEIVER] withNoInline(1) <bold>{</bold>
50 [LAMBDA CALLS RECEIVER] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
51 val result = <bold>receiver</bold>.block()
50 fun <T, R> withNoInline(<bold>receiver: T</bold>, block: T.() -> R): R {
24 withNoInline(<bold>2</bold>) {
11 with(<bold>456</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
12 <bold>this</bold>.extensionFun()
11 [LAMBDA CALLS RECEIVER] with(456) <bold>{</bold>
44 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
45 (INLINE CALL with) val result = <bold>receiver</bold>.block()
44 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
11 with(<bold>456</bold>) {
12 with(<bold>456</bold>) {
4 fun <bold>Any</bold>.extensionFun() {
13 <bold>this</bold>.extensionFun()
12 [LAMBDA CALLS RECEIVER] with(456) <bold>{</bold>
45 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
46 (INLINE CALL with) val result = <bold>receiver</bold>.block()
45 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
12 with(<bold>456</bold>) {