Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 76fd386

Browse files
tamasvajkigfoo
authored andcommitted
Extract content of <obinit> methods
1 parent b87c8e2 commit 76fd386

10 files changed

Lines changed: 171 additions & 50 deletions

File tree

java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt

Lines changed: 111 additions & 48 deletions
Large diffs are not rendered by default.

java/ql/test/kotlin/library-tests/classes/classes.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
| classes.kt:12:1:15:1 | ClassFour |
55
| classes.kt:17:1:18:1 | ClassFive |
66
| classes.kt:28:1:30:1 | ClassSix |
7+
| classes.kt:34:1:47:1 | ClassSeven |
78
| file://:0:0:0:0 | Any |
9+
| file://:0:0:0:0 | ClassesKt |
810
| file://:0:0:0:0 | Unit |

java/ql/test/kotlin/library-tests/classes/classes.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,20 @@ class ClassSix(): ClassFour(), IF1, IF2 {
2929
constructor(i: Int): this(){ }
3030
}
3131

32+
fun f(s: String) {}
33+
34+
class ClassSeven {
35+
constructor(i: String) {
36+
f(i)
37+
}
38+
init {
39+
f("init1")
40+
}
41+
42+
val x: Int = 3
43+
44+
init {
45+
f("init2")
46+
}
47+
}
48+

java/ql/test/kotlin/library-tests/classes/ctorCalls.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ superCall
77
| classes.kt:12:23:12:34 | super(...) |
88
| classes.kt:17:18:17:28 | super(...) |
99
| classes.kt:28:19:28:29 | super(...) |
10+
| classes.kt:35:27:35:26 | super(...) |
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
initBlocks
2+
| classes.kt:2:1:2:18 | <obinit> |
3+
| classes.kt:4:1:6:1 | <obinit> |
4+
| classes.kt:8:1:10:1 | <obinit> |
5+
| classes.kt:12:1:15:1 | <obinit> |
6+
| classes.kt:17:1:18:1 | <obinit> |
7+
| classes.kt:20:1:22:1 | <obinit> |
8+
| classes.kt:24:1:26:1 | <obinit> |
9+
| classes.kt:28:1:30:1 | <obinit> |
10+
| classes.kt:34:1:47:1 | <obinit> |
11+
initCall
12+
| classes.kt:2:1:2:18 | <obinit>(...) |
13+
| classes.kt:4:1:6:1 | <obinit>(...) |
14+
| classes.kt:8:1:10:1 | <obinit>(...) |
15+
| classes.kt:12:1:15:1 | <obinit>(...) |
16+
| classes.kt:17:1:18:1 | <obinit>(...) |
17+
| classes.kt:28:1:30:1 | <obinit>(...) |
18+
| classes.kt:35:5:37:5 | <obinit>(...) |
19+
initExpressions
20+
| classes.kt:4:17:4:28 | ...=... | 0 |
21+
| classes.kt:5:5:5:18 | ...=... | 1 |
22+
| classes.kt:39:9:39:18 | f(...) | 0 |
23+
| classes.kt:42:5:42:18 | ...=... | 1 |
24+
| classes.kt:45:9:45:18 | f(...) | 2 |
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import java
2+
3+
query predicate initBlocks(Method m) { m.hasName("<obinit>") }
4+
5+
query predicate initCall(MethodAccess ma) { ma.getMethod().hasName("<obinit>") }
6+
7+
query predicate initExpressions(Expr e, int i) {
8+
exists(Method m | m.hasName("<obinit>") | e.getParent() = m.getBody() and i = e.getIndex())
9+
}

java/ql/test/kotlin/library-tests/classes/superTypes.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
| classes.kt:28:1:30:1 | ClassSix | classes.kt:12:1:15:1 | ClassFour |
77
| classes.kt:28:1:30:1 | ClassSix | classes.kt:20:1:22:1 | IF1 |
88
| classes.kt:28:1:30:1 | ClassSix | classes.kt:24:1:26:1 | IF2 |
9+
| classes.kt:34:1:47:1 | ClassSeven | file://:0:0:0:0 | Any |
910
| file://:0:0:0:0 | Unit | file://:0:0:0:0 | Any |

java/ql/test/kotlin/library-tests/exprs/exprs.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
| exprs.kt:50:13:50:16 | true | BooleanLiteral |
4545
| exprs.kt:50:13:50:23 | ::class | ClassExpr |
4646
| exprs.kt:53:1:55:1 | <obinit>(...) | MethodAccess |
47+
| exprs.kt:53:9:53:18 | ...=... | AssignExpr |
48+
| exprs.kt:53:9:53:18 | n | VarAccess |
49+
| exprs.kt:53:9:53:18 | n | VarAccess |
4750
| exprs.kt:54:27:54:31 | (no string representation) | ClassInstanceExpr |
4851
| exprs.kt:54:29:54:30 | 42 | IntegerLiteral |
4952
| file://:0:0:0:0 | b1 | LocalVariableDeclExpr |

java/ql/test/kotlin/library-tests/methods/methods.expected

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
methods
22
| file://:0:0:0:0 | <init> |
3-
| file://:0:0:0:0 | <obinit> |
4-
| file://:0:0:0:0 | <obinit> |
53
| file://:0:0:0:0 | equals |
64
| file://:0:0:0:0 | equals |
75
| file://:0:0:0:0 | hashCode |

java/ql/test/kotlin/library-tests/variables/variableAccesses.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
varAcc
2+
| variables.kt:3:5:3:21 | prop |
3+
| variables.kt:16:11:16:18 | o |
4+
| variables.kt:16:11:16:18 | o |
25
instAcc
36
| variables.kt:21:11:21:15 | this |
47
| variables.kt:24:9:24:8 | this |

0 commit comments

Comments
 (0)