Extract local functions

This commit is contained in:
Tamas Vajk
2021-12-01 13:02:14 +01:00
committed by Ian Lynagh
parent f0949a4936
commit 16ba27c476
12 changed files with 323 additions and 84 deletions

View File

@@ -77,3 +77,4 @@
| exprs.kt:161:8:161:16 | ... != ... | exprs.kt:161:8:161:8 | r | exprs.kt:161:13:161:16 | null |
| exprs.kt:190:31:190:37 | ... + ... | exprs.kt:190:31:190:32 | <get-a1>(...) | exprs.kt:190:36:190:37 | a2 |
| exprs.kt:206:19:206:25 | ... + ... | exprs.kt:206:20:206:21 | ...!! | exprs.kt:206:25:206:25 | 5 |
| localFunctionCalls.kt:5:25:5:29 | ... + ... | localFunctionCalls.kt:5:25:5:25 | i | localFunctionCalls.kt:5:29:5:29 | x |

View File

@@ -599,9 +599,37 @@
| exprs.kt:210:33:210:37 | GREEN | exprs.kt:200:5:211:5 | x | StringLiteral |
| exprs.kt:215:5:215:10 | TODO(...) | exprs.kt:214:1:216:1 | todo | MethodAccess |
| file://:0:0:0:0 | C | exprs.kt:143:5:143:33 | foo | TypeAccess |
| file://:0:0:0:0 | C1<Integer> | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| file://:0:0:0:0 | Color | exprs.kt:172:6:176:1 | Color | TypeAccess |
| file://:0:0:0:0 | Direction | exprs.kt:168:6:170:1 | Direction | TypeAccess |
| file://:0:0:0:0 | Integer | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| file://:0:0:0:0 | Integer | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| file://:0:0:0:0 | Interface1 | exprs.kt:187:13:192:5 | getObject | TypeAccess |
| file://:0:0:0:0 | String | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| file://:0:0:0:0 | Unit | exprs.kt:168:6:170:1 | Direction | TypeAccess |
| file://:0:0:0:0 | Unit | exprs.kt:172:6:176:1 | Color | TypeAccess |
| file://:0:0:0:0 | tmp0 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr |
| localFunctionCalls.kt:4:5:4:13 | x | localFunctionCalls.kt:3:1:11:1 | x | LocalVariableDeclExpr |
| localFunctionCalls.kt:4:13:4:13 | 5 | localFunctionCalls.kt:3:1:11:1 | x | IntegerLiteral |
| localFunctionCalls.kt:5:25:5:25 | i | localFunctionCalls.kt:5:5:5:29 | a | VarAccess |
| localFunctionCalls.kt:5:25:5:29 | ... + ... | localFunctionCalls.kt:5:5:5:29 | a | AddExpr |
| localFunctionCalls.kt:5:29:5:29 | x | localFunctionCalls.kt:5:5:5:29 | a | VarAccess |
| localFunctionCalls.kt:6:5:6:5 | ...=... | localFunctionCalls.kt:3:1:11:1 | x | AssignExpr |
| localFunctionCalls.kt:6:5:6:5 | x | localFunctionCalls.kt:3:1:11:1 | x | VarAccess |
| localFunctionCalls.kt:6:9:6:9 | 6 | localFunctionCalls.kt:3:1:11:1 | x | IntegerLiteral |
| localFunctionCalls.kt:7:5:7:17 | (...)... | localFunctionCalls.kt:3:1:11:1 | x | CastExpr |
| localFunctionCalls.kt:7:5:7:17 | Unit | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| localFunctionCalls.kt:7:5:7:17 | a(...) | localFunctionCalls.kt:3:1:11:1 | x | MethodAccess |
| localFunctionCalls.kt:7:5:7:17 | new (...) | localFunctionCalls.kt:3:1:11:1 | x | ClassInstanceExpr |
| localFunctionCalls.kt:7:15:7:16 | 42 | localFunctionCalls.kt:3:1:11:1 | x | IntegerLiteral |
| localFunctionCalls.kt:8:5:8:5 | ...=... | localFunctionCalls.kt:3:1:11:1 | x | AssignExpr |
| localFunctionCalls.kt:8:5:8:5 | x | localFunctionCalls.kt:3:1:11:1 | x | VarAccess |
| localFunctionCalls.kt:8:9:8:9 | 7 | localFunctionCalls.kt:3:1:11:1 | x | IntegerLiteral |
| localFunctionCalls.kt:9:34:9:34 | 5 | localFunctionCalls.kt:9:5:9:34 | f1 | IntegerLiteral |
| localFunctionCalls.kt:10:5:10:13 | new C1(...) | localFunctionCalls.kt:3:1:11:1 | x | ClassInstanceExpr |
| localFunctionCalls.kt:10:15:10:20 | (...)... | localFunctionCalls.kt:3:1:11:1 | x | CastExpr |
| localFunctionCalls.kt:10:15:10:20 | Unit | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| localFunctionCalls.kt:10:15:10:20 | f1(...) | localFunctionCalls.kt:3:1:11:1 | x | MethodAccess |
| localFunctionCalls.kt:10:15:10:20 | new (...) | localFunctionCalls.kt:3:1:11:1 | x | ClassInstanceExpr |
| localFunctionCalls.kt:10:18:10:19 | 42 | localFunctionCalls.kt:3:1:11:1 | x | IntegerLiteral |
| localFunctionCalls.kt:13:1:13:14 | <obinit>(...) | localFunctionCalls.kt:13:1:13:14 | C1 | MethodAccess |

View File

@@ -0,0 +1,13 @@
package foo.bar
fun x() {
var x = 5
fun <T> a(i: Int) = i + x
x = 6
a<String>(42)
x = 7
fun <T1> C1<T1>.f1(i: Int) = 5
C1<Int>().f1(42)
}
class C1<T> {}

View File

@@ -25,8 +25,8 @@ parameterizedType
| generics.kt:36:1:40:1 | BoundedTest | generics.kt:36:1:40:1 | BoundedTest | 0 | T |
| generics.kt:36:1:40:1 | BoundedTest | generics.kt:36:1:40:1 | BoundedTest | 1 | S |
function
| generics.kt:3:1:5:1 | f0 | f0(java.lang.Object) |
| generics.kt:7:1:9:1 | f1 | f1(java.lang.Object) |
| generics.kt:3:1:5:1 | f0 | f0(int,java.lang.Object) |
| generics.kt:7:1:9:1 | f1 | f1(int,java.lang.Object) |
| generics.kt:11:1:11:19 | <obinit> | <obinit>() |
| generics.kt:11:6:11:19 | C0 | C0() |
| generics.kt:11:6:11:19 | equals | equals(java.lang.Object) |

View File

@@ -1,7 +1,35 @@
| file://:0:0:0:0 | C1<Integer> | TypeAccess |
| file://:0:0:0:0 | Integer | TypeAccess |
| file://:0:0:0:0 | Integer | TypeAccess |
| file://:0:0:0:0 | String | TypeAccess |
| methods2.kt:7:1:10:1 | <obinit>(...) | MethodAccess |
| methods3.kt:5:1:7:1 | <obinit>(...) | MethodAccess |
| methods4.kt:3:1:11:1 | <obinit>(...) | MethodAccess |
| methods4.kt:5:3:9:3 | <obinit>(...) | MethodAccess |
| methods5.kt:4:3:4:11 | x | LocalVariableDeclExpr |
| methods5.kt:4:11:4:11 | 5 | IntegerLiteral |
| methods5.kt:5:23:5:23 | i | VarAccess |
| methods5.kt:5:23:5:27 | ... + ... | AddExpr |
| methods5.kt:5:27:5:27 | x | VarAccess |
| methods5.kt:6:3:6:3 | ...=... | AssignExpr |
| methods5.kt:6:3:6:3 | x | VarAccess |
| methods5.kt:6:7:6:7 | 6 | IntegerLiteral |
| methods5.kt:7:3:7:15 | (...)... | CastExpr |
| methods5.kt:7:3:7:15 | Unit | TypeAccess |
| methods5.kt:7:3:7:15 | a(...) | MethodAccess |
| methods5.kt:7:3:7:15 | new (...) | ClassInstanceExpr |
| methods5.kt:7:13:7:14 | 42 | IntegerLiteral |
| methods5.kt:8:3:8:3 | ...=... | AssignExpr |
| methods5.kt:8:3:8:3 | x | VarAccess |
| methods5.kt:8:7:8:7 | 7 | IntegerLiteral |
| methods5.kt:9:32:9:32 | 5 | IntegerLiteral |
| methods5.kt:10:3:10:11 | new C1(...) | ClassInstanceExpr |
| methods5.kt:10:13:10:18 | (...)... | CastExpr |
| methods5.kt:10:13:10:18 | Unit | TypeAccess |
| methods5.kt:10:13:10:18 | f1(...) | MethodAccess |
| methods5.kt:10:13:10:18 | new (...) | ClassInstanceExpr |
| methods5.kt:10:16:10:17 | 42 | IntegerLiteral |
| methods5.kt:13:1:13:14 | <obinit>(...) | MethodAccess |
| methods.kt:5:1:13:1 | <obinit>(...) | MethodAccess |
| methods.kt:10:9:10:25 | classMethod(...) | MethodAccess |
| methods.kt:10:9:10:25 | this | ThisAccess |

View File

@@ -5,12 +5,12 @@ methods
| methods2.kt:7:1:10:1 | hashCode | hashCode() |
| methods2.kt:7:1:10:1 | toString | toString() |
| methods2.kt:8:5:9:5 | fooBarClassMethod | fooBarClassMethod(int,int) |
| methods3.kt:3:1:3:39 | fooBarTopLevelMethod | fooBarTopLevelMethod(int) |
| methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) |
| methods3.kt:5:1:7:1 | <obinit> | <obinit>() |
| methods3.kt:5:1:7:1 | equals | equals(java.lang.Object) |
| methods3.kt:5:1:7:1 | hashCode | hashCode() |
| methods3.kt:5:1:7:1 | toString | toString() |
| methods3.kt:6:5:6:43 | fooBarTopLevelMethod | fooBarTopLevelMethod(int) |
| methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) |
| methods4.kt:3:1:11:1 | <obinit> | <obinit>() |
| methods4.kt:3:1:11:1 | equals | equals(java.lang.Object) |
| methods4.kt:3:1:11:1 | hashCode | hashCode() |
@@ -20,6 +20,13 @@ methods
| methods4.kt:5:3:9:3 | hashCode | hashCode() |
| methods4.kt:5:3:9:3 | toString | toString() |
| methods4.kt:7:5:7:34 | m | m(foo.bar.NestedTest.InsideNestedTest) |
| methods5.kt:3:1:11:1 | x | x() |
| methods5.kt:5:3:5:27 | a | a(int) |
| methods5.kt:9:3:9:32 | f1 | f1(foo.bar.C1,int) |
| methods5.kt:13:1:13:14 | <obinit> | <obinit>() |
| methods5.kt:13:1:13:14 | equals | equals(java.lang.Object) |
| methods5.kt:13:1:13:14 | hashCode | hashCode() |
| methods5.kt:13:1:13:14 | toString | toString() |
| methods.kt:2:1:3:1 | topLevelMethod | topLevelMethod(int,int) |
| methods.kt:5:1:13:1 | <obinit> | <obinit>() |
| methods.kt:5:1:13:1 | equals | equals(java.lang.Object) |
@@ -32,7 +39,11 @@ constructors
| methods3.kt:5:1:7:1 | Class3 | Class3() |
| methods4.kt:3:1:11:1 | NestedTest | NestedTest() |
| methods4.kt:5:3:9:3 | InsideNestedTest | InsideNestedTest() |
| methods5.kt:5:3:5:27 | | |
| methods5.kt:9:3:9:32 | | |
| methods5.kt:13:1:13:14 | C1 | C1() |
| methods.kt:5:1:13:1 | Class | Class() |
extensions
| methods3.kt:3:1:3:39 | fooBarTopLevelMethod | file://:0:0:0:0 | int |
| methods3.kt:6:5:6:43 | fooBarTopLevelMethod | file://:0:0:0:0 | int |
| methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | file://:0:0:0:0 | int |
| methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | file://:0:0:0:0 | int |
| methods5.kt:9:3:9:32 | f1 | methods5.kt:13:1:13:14 | C1<T1> |

View File

@@ -1,7 +1,7 @@
package foo.bar
fun Int.fooBarTopLevelMethod(x: Int) {}
fun Int.fooBarTopLevelMethodExt(x: Int) {}
class Class3 {
fun Int.fooBarTopLevelMethod(x: Int) {}
fun Int.fooBarTopLevelMethodExt(x: Int) {}
}

View File

@@ -0,0 +1,13 @@
package foo.bar
fun x() {
var x = 5
fun <T> a(i: Int) = i + x
x = 6
a<String>(42)
x = 7
fun <T1> C1<T1>.f1(i: Int) = 5
C1<Int>().f1(42)
}
class C1<T> {}

View File

@@ -3,14 +3,18 @@
| methods2.kt:7:1:10:1 | equals | methods2.kt:7:1:10:1 | other | 0 |
| methods2.kt:8:5:9:5 | fooBarClassMethod | methods2.kt:8:27:8:32 | x | 0 |
| methods2.kt:8:5:9:5 | fooBarClassMethod | methods2.kt:8:35:8:40 | y | 1 |
| methods3.kt:3:1:3:39 | fooBarTopLevelMethod | methods3.kt:3:5:3:7 | <this> | 0 |
| methods3.kt:3:1:3:39 | fooBarTopLevelMethod | methods3.kt:3:30:3:35 | x | 1 |
| methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | methods3.kt:3:5:3:7 | <this> | 0 |
| methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | methods3.kt:3:33:3:38 | x | 1 |
| methods3.kt:5:1:7:1 | equals | methods3.kt:5:1:7:1 | other | 0 |
| methods3.kt:6:5:6:43 | fooBarTopLevelMethod | methods3.kt:6:9:6:11 | <this> | 0 |
| methods3.kt:6:5:6:43 | fooBarTopLevelMethod | methods3.kt:6:34:6:39 | x | 1 |
| methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | methods3.kt:6:9:6:11 | <this> | 0 |
| methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | methods3.kt:6:37:6:42 | x | 1 |
| methods4.kt:3:1:11:1 | equals | methods4.kt:3:1:11:1 | other | 0 |
| methods4.kt:5:3:9:3 | equals | methods4.kt:5:3:9:3 | other | 0 |
| methods4.kt:7:5:7:34 | m | methods4.kt:7:11:7:29 | x | 0 |
| methods5.kt:5:3:5:27 | a | methods5.kt:5:13:5:18 | i | 0 |
| methods5.kt:9:3:9:32 | f1 | methods5.kt:9:12:9:17 | <this> | 0 |
| methods5.kt:9:3:9:32 | f1 | methods5.kt:9:22:9:27 | i | 1 |
| methods5.kt:13:1:13:14 | equals | methods5.kt:13:1:13:14 | other | 0 |
| methods.kt:2:1:3:1 | topLevelMethod | methods.kt:2:20:2:25 | x | 0 |
| methods.kt:2:1:3:1 | topLevelMethod | methods.kt:2:28:2:33 | y | 1 |
| methods.kt:5:1:13:1 | equals | methods.kt:5:1:13:1 | other | 0 |