mirror of
https://github.com/github/codeql.git
synced 2026-05-03 12:45:27 +02:00
Fix AST representation of WhenExpr and WhenBranch
This commit is contained in:
committed by
Ian Lynagh
parent
4b22e1a378
commit
64531dd717
@@ -2413,7 +2413,7 @@ open class KotlinFileExtractor(
|
||||
val bLocId = tw.getLocation(b)
|
||||
tw.writeStmts_whenbranch(bId, id, i, callable)
|
||||
tw.writeHasLocation(bId, bLocId)
|
||||
extractExpressionExpr(b.condition, callable, bId, 0, exprParent.enclosingStmt)
|
||||
extractExpressionExpr(b.condition, callable, bId, 0, bId)
|
||||
extractExpressionStmt(b.result, callable, bId, 1)
|
||||
if(b is IrElseBranch) {
|
||||
tw.writeWhen_branch_else(bId)
|
||||
|
||||
@@ -3,7 +3,6 @@ import java
|
||||
Element enclosingStmtOrOther(ExprParent ep) {
|
||||
result = ep.(Stmt) or
|
||||
result = enclosingStmtOrOther(ep.(Expr).getParent()) or
|
||||
result = enclosingStmtOrOther(ep.(WhenBranch).getWhenExpr()) or
|
||||
result = ep.(Callable) or
|
||||
result = enclosingStmtOrOther(ep.(Field).getDeclaration()) or
|
||||
result = ep.(FieldDeclaration) or
|
||||
@@ -14,47 +13,46 @@ Element enclosingStmtOrOther(ExprParent ep) {
|
||||
result = ep.(TypeVariable)
|
||||
}
|
||||
|
||||
predicate multipleSpecified(Expr e) {
|
||||
e.getEnclosingStmt() != e.getEnclosingStmt()
|
||||
}
|
||||
predicate multipleSpecified(Expr e) { e.getEnclosingStmt() != e.getEnclosingStmt() }
|
||||
|
||||
predicate multipleInferred(Expr e) {
|
||||
enclosingStmtOrOther(e) != enclosingStmtOrOther(e)
|
||||
}
|
||||
predicate multipleInferred(Expr e) { enclosingStmtOrOther(e) != enclosingStmtOrOther(e) }
|
||||
|
||||
predicate noneInferred(Expr e) {
|
||||
not exists(enclosingStmtOrOther(e))
|
||||
}
|
||||
predicate noneInferred(Expr e) { not exists(enclosingStmtOrOther(e)) }
|
||||
|
||||
predicate difference(Expr e) {
|
||||
e.getEnclosingStmt() != enclosingStmtOrOther(e)
|
||||
e.getEnclosingStmt() != enclosingStmtOrOther(e) and
|
||||
// Java #167
|
||||
and not enclosingStmtOrOther(e) instanceof LocalVariableDeclStmt
|
||||
not enclosingStmtOrOther(e) instanceof LocalVariableDeclStmt
|
||||
}
|
||||
|
||||
predicate notSpecified(Expr e) {
|
||||
enclosingStmtOrOther(e) instanceof Stmt and not exists(e.getEnclosingStmt())
|
||||
enclosingStmtOrOther(e) instanceof Stmt and
|
||||
not exists(e.getEnclosingStmt()) and
|
||||
// Java #168
|
||||
and not (e instanceof Annotation and e.getFile().isJavaSourceFile())
|
||||
not (e instanceof Annotation and e.getFile().isJavaSourceFile()) and
|
||||
// TODO: Kotlin bug
|
||||
and not (e instanceof ArrayCreationExpr and e.getFile().isKotlinSourceFile())
|
||||
not (e instanceof ArrayCreationExpr and e.getFile().isKotlinSourceFile()) and
|
||||
// TODO: Kotlin bug
|
||||
and not (e instanceof VarAccess and e.getFile().isKotlinSourceFile())
|
||||
not (e instanceof VarAccess and e.getFile().isKotlinSourceFile()) and
|
||||
// TODO: Kotlin bug
|
||||
and not (e instanceof TypeAccess and e.getFile().isKotlinSourceFile())
|
||||
not (e instanceof TypeAccess and e.getFile().isKotlinSourceFile())
|
||||
}
|
||||
|
||||
predicate problem(Expr e, string s) {
|
||||
multipleSpecified(e) and s = "multiple specified" or
|
||||
multipleInferred(e) and s = "multiple inferred" or
|
||||
noneInferred(e) and s = "none inferred" or
|
||||
difference(e) and s = "difference" or
|
||||
multipleSpecified(e) and s = "multiple specified"
|
||||
or
|
||||
multipleInferred(e) and s = "multiple inferred"
|
||||
or
|
||||
noneInferred(e) and s = "none inferred"
|
||||
or
|
||||
difference(e) and s = "difference"
|
||||
or
|
||||
notSpecified(e) and s = "not specified"
|
||||
}
|
||||
|
||||
from Expr e, string s
|
||||
where problem(e, s)
|
||||
and // TODO: bug in external deps?
|
||||
e.getCompilationUnit().fromSource()
|
||||
where
|
||||
problem(e, s) and
|
||||
// TODO: bug in external deps?
|
||||
e.getCompilationUnit().fromSource()
|
||||
select e, s, e.getPrimaryQlClasses()
|
||||
|
||||
|
||||
@@ -117,7 +117,6 @@ private predicate locationSortKeys(Element ast, string file, int line, int colum
|
||||
private newtype TPrintAstNode =
|
||||
TElementNode(Element el) { shouldPrint(el, _) } or
|
||||
TForInitNode(ForStmt fs) { shouldPrint(fs, _) and exists(fs.getAnInit()) } or
|
||||
TWhenBranchNode(WhenBranch wb) { shouldPrint(wb.getWhenExpr(), _) } or
|
||||
TLocalVarDeclNode(LocalVariableDeclExpr lvde) {
|
||||
shouldPrint(lvde, _) and lvde.getParent() instanceof SingleLocalVarDeclParent
|
||||
} or
|
||||
@@ -357,18 +356,6 @@ final class ForStmtNode extends ExprStmtNode {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A node representing a `WhenExpr`.
|
||||
*/
|
||||
final class WhenExprNode extends ExprStmtNode {
|
||||
WhenExprNode() { element instanceof WhenExpr }
|
||||
|
||||
override PrintAstNode getChild(int childIndex) {
|
||||
childIndex >= 0 and
|
||||
result.(WhenBranchNode).getWhenBranch() = element.(WhenExpr).getBranch(childIndex)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* An element that can be the parent of up to one `LocalVariableDeclExpr` for which we want
|
||||
* to use a synthetic node to hold the variable declaration and its `TypeAccess`.
|
||||
@@ -585,30 +572,6 @@ final class ForInitNode extends PrintAstNode, TForInitNode {
|
||||
ForStmt getForStmt() { result = fs }
|
||||
}
|
||||
|
||||
/**
|
||||
* A node representing the synthetic node of a `when` expression branch.
|
||||
*/
|
||||
final class WhenBranchNode extends PrintAstNode, TWhenBranchNode {
|
||||
WhenBranch wb;
|
||||
|
||||
WhenBranchNode() { this = TWhenBranchNode(wb) }
|
||||
|
||||
override string toString() { result = "(branch)" }
|
||||
|
||||
override ElementNode getChild(int childIndex) {
|
||||
childIndex = 0 and
|
||||
result.getElement().(Expr).isNthChildOf(wb, childIndex)
|
||||
or
|
||||
childIndex = 1 and
|
||||
result.getElement().(Stmt).isNthChildOf(wb, childIndex)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the underlying `WhenBranch`.
|
||||
*/
|
||||
WhenBranch getWhenBranch() { result = wb }
|
||||
}
|
||||
|
||||
/**
|
||||
* A synthetic node holding a `LocalVariableDeclExpr` and its type access.
|
||||
*/
|
||||
|
||||
@@ -150,7 +150,7 @@ classes.kt:
|
||||
# 64| 5: [BlockStmt] { ... }
|
||||
# 65| 0: [ExprStmt] <Expr>;
|
||||
# 65| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 65| 0: [WhenBranch] ... -> ...
|
||||
# 65| 0: [VarAccess] b
|
||||
# 66| 1: [ReturnStmt] return ...
|
||||
# 66| 0: [StmtExpr] <Stmt>
|
||||
@@ -163,7 +163,7 @@ classes.kt:
|
||||
# 66| 1: [ExprStmt] <Expr>;
|
||||
# 66| 0: [ClassInstanceExpr] new (...)
|
||||
# 66| -3: [TypeAccess] Object
|
||||
#-----| 1: (branch)
|
||||
# 65| 1: [WhenBranch] ... -> ...
|
||||
# 65| 0: [BooleanLiteral] true
|
||||
# 68| 1: [ReturnStmt] return ...
|
||||
# 68| 0: [StmtExpr] <Stmt>
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:6:3:6:18 | var ...; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:12:4:12:4 | <Expr>; |
|
||||
@@ -10,10 +12,13 @@
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:4:13:79:2 | { ... } | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -34,6 +39,8 @@
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:6:3:6:18 | var ...; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
@@ -41,10 +48,13 @@
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -64,6 +74,8 @@
|
||||
| Test.kt:5:3:5:16 | var ...; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
@@ -71,10 +83,13 @@
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -93,6 +108,8 @@
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:6:3:6:18 | var ...; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
@@ -100,10 +117,13 @@
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -121,6 +141,8 @@
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:7:3:7:16 | var ...; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
@@ -128,10 +150,13 @@
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -149,16 +174,54 @@
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:12:4:12:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:13:4:13:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:31:4:31:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:32:4:32:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:35:3:35:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:38:3:41:3 | while (...) |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:38:16:41:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:39:4:39:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:40:4:40:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:40:4:40:4 | var ...; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:40:4:40:6 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:40:4:40:6 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:40:4:40:6 | { ... } |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:43:3:43:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:13:4:13:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -180,10 +243,13 @@
|
||||
| Test.kt:11:14:14:3 | { ... } | Test.kt:13:4:13:4 | <Expr>; |
|
||||
| Test.kt:12:4:12:4 | <Expr>; | Test.kt:13:4:13:4 | <Expr>; |
|
||||
| Test.kt:14:10:16:3 | { ... } | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -201,9 +267,35 @@
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:31:4:31:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:32:4:32:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:35:3:35:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:38:3:41:3 | while (...) |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:38:16:41:3 | { ... } |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:39:4:39:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:40:4:40:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:40:4:40:4 | var ...; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:40:4:40:6 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:40:4:40:6 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:40:4:40:6 | { ... } |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:43:3:43:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:24:4:24:9 | return ... |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -222,6 +314,7 @@
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -239,6 +332,7 @@
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -256,6 +350,23 @@
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:31:4:31:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:32:4:32:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:35:3:35:3 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:38:3:41:3 | while (...) |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:38:16:41:3 | { ... } |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:39:4:39:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:40:4:40:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:40:4:40:4 | var ...; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:40:4:40:6 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:40:4:40:6 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:40:4:40:6 | { ... } |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:43:3:43:3 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:77:3:77:3 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:78:3:78:8 | return ... |
|
||||
| Test.kt:30:3:33:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:30:3:33:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:30:3:33:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | <Expr>; | Test.kt:32:4:32:4 | <Expr>; |
|
||||
|
||||
@@ -9,6 +9,12 @@
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:5:3:5:16 | var ...; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:6:3:6:18 | var ...; |
|
||||
| Test.kt:8:3:8:16 | var ...; | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:4:13:79:2 | { ... } |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:5:3:5:16 | var ...; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:6:3:6:18 | var ...; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:11:3:16:3 | ... -> ... | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:4:13:79:2 | { ... } |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:5:3:5:16 | var ...; |
|
||||
| Test.kt:11:3:16:3 | <Expr>; | Test.kt:6:3:6:18 | var ...; |
|
||||
@@ -17,23 +23,44 @@
|
||||
| Test.kt:12:4:12:4 | <Expr>; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:13:4:13:4 | <Expr>; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:13:4:13:4 | <Expr>; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
| Test.kt:14:10:16:3 | { ... } | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:15:4:15:4 | <Expr>; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:15:4:15:4 | <Expr>; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:4:13:79:2 | { ... } |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:5:3:5:16 | var ...; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:6:3:6:18 | var ...; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:13:4:13:4 | <Expr>; |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:4:13:79:2 | { ... } |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:5:3:5:16 | var ...; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:6:3:6:18 | var ...; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:12:4:12:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:13:4:13:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | Test.kt:21:3:24:9 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:4:13:79:2 | { ... } |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:5:3:5:16 | var ...; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:6:3:6:18 | var ...; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:7:3:7:16 | var ...; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:8:3:8:16 | var ...; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:11:3:16:3 | ... -> ... |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:11:3:16:3 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:11:14:14:3 | { ... } |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:12:4:12:4 | <Expr>; |
|
||||
@@ -41,7 +68,11 @@
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:14:10:16:3 | { ... } |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:15:4:15:4 | <Expr>; |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | Test.kt:18:3:18:3 | <Expr>; |
|
||||
| Test.kt:24:4:24:9 | return ... | Test.kt:21:3:24:9 | ... -> ... |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:30:3:33:3 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:31:4:31:4 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
@@ -49,12 +80,14 @@
|
||||
| Test.kt:32:4:32:4 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | Test.kt:32:4:32:4 | <Expr>; |
|
||||
| Test.kt:38:3:41:3 | while (...) | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:38:3:41:3 | while (...) | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:38:3:41:3 | while (...) | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:38:3:41:3 | while (...) | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:38:3:41:3 | while (...) | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:38:3:41:3 | while (...) | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -83,6 +116,7 @@
|
||||
| Test.kt:40:4:40:6 | { ... } | Test.kt:40:4:40:6 | <Expr>; |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -98,6 +132,7 @@
|
||||
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:40:4:40:6 | { ... } |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -114,6 +149,7 @@
|
||||
| Test.kt:73:3:73:3 | <Expr>; | Test.kt:43:3:43:3 | <Expr>; |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | Test.kt:31:4:31:4 | <Expr>; |
|
||||
@@ -131,6 +167,7 @@
|
||||
| Test.kt:77:3:77:3 | <Expr>; | Test.kt:73:3:73:3 | <Expr>; |
|
||||
| Test.kt:78:3:78:8 | return ... | Test.kt:22:4:22:4 | <Expr>; |
|
||||
| Test.kt:78:3:78:8 | return ... | Test.kt:27:3:27:3 | <Expr>; |
|
||||
| Test.kt:78:3:78:8 | return ... | Test.kt:30:3:33:3 | ... -> ... |
|
||||
| Test.kt:78:3:78:8 | return ... | Test.kt:30:3:33:3 | <Expr>; |
|
||||
| Test.kt:78:3:78:8 | return ... | Test.kt:30:15:33:3 | { ... } |
|
||||
| Test.kt:78:3:78:8 | return ... | Test.kt:31:4:31:4 | <Expr>; |
|
||||
|
||||
@@ -757,22 +757,22 @@ exprs.kt:
|
||||
# 113| 96: [LocalVariableDeclStmt] var ...;
|
||||
# 113| 1: [LocalVariableDeclExpr] b3
|
||||
# 113| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 113| 0: [WhenBranch] ... -> ...
|
||||
# 113| 0: [VarAccess] b1
|
||||
# 113| 1: [ExprStmt] <Expr>;
|
||||
# 113| 0: [VarAccess] b2
|
||||
#-----| 1: (branch)
|
||||
# 113| 1: [WhenBranch] ... -> ...
|
||||
# 113| 0: [BooleanLiteral] true
|
||||
# 113| 1: [ExprStmt] <Expr>;
|
||||
# 113| 0: [BooleanLiteral] false
|
||||
# 114| 97: [LocalVariableDeclStmt] var ...;
|
||||
# 114| 1: [LocalVariableDeclExpr] b4
|
||||
# 114| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 114| 0: [WhenBranch] ... -> ...
|
||||
# 114| 0: [VarAccess] b1
|
||||
# 114| 1: [ExprStmt] <Expr>;
|
||||
# 114| 0: [BooleanLiteral] true
|
||||
#-----| 1: (branch)
|
||||
# 114| 1: [WhenBranch] ... -> ...
|
||||
# 114| 0: [BooleanLiteral] true
|
||||
# 114| 1: [ExprStmt] <Expr>;
|
||||
# 114| 0: [VarAccess] b2
|
||||
@@ -878,7 +878,7 @@ exprs.kt:
|
||||
# 150| 5: [BlockStmt] { ... }
|
||||
# 151| 0: [ExprStmt] <Expr>;
|
||||
# 151| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 151| 0: [WhenBranch] ... -> ...
|
||||
# 151| 0: [InstanceOfExpr] ...instanceof...
|
||||
# 151| 0: [VarAccess] x
|
||||
# 151| 1: [TypeAccess] Subclass1
|
||||
@@ -891,7 +891,7 @@ exprs.kt:
|
||||
# 154| 1: [LocalVariableDeclStmt] var ...;
|
||||
# 154| 1: [LocalVariableDeclExpr] y1
|
||||
# 154| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 154| 0: [WhenBranch] ... -> ...
|
||||
# 154| 0: [InstanceOfExpr] ...instanceof...
|
||||
# 154| 0: [VarAccess] x
|
||||
# 154| 1: [TypeAccess] Subclass1
|
||||
@@ -902,7 +902,7 @@ exprs.kt:
|
||||
# 154| 0: [BlockStmt] { ... }
|
||||
# 154| 0: [ExprStmt] <Expr>;
|
||||
# 154| 0: [VarAccess] x
|
||||
#-----| 1: (branch)
|
||||
# 154| 1: [WhenBranch] ... -> ...
|
||||
# 154| 0: [BooleanLiteral] true
|
||||
# 154| 1: [BlockStmt] { ... }
|
||||
# 154| 0: [ExprStmt] <Expr>;
|
||||
@@ -912,7 +912,7 @@ exprs.kt:
|
||||
# 155| 0: [IntegerLiteral] 1
|
||||
# 156| 3: [ExprStmt] <Expr>;
|
||||
# 156| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 156| 0: [WhenBranch] ... -> ...
|
||||
# 156| 0: [InstanceOfExpr] ...instanceof...
|
||||
# 156| 0: [VarAccess] x
|
||||
# 156| 1: [TypeAccess] Subclass1
|
||||
@@ -921,7 +921,7 @@ exprs.kt:
|
||||
# 156| 0: [AssignExpr] ...=...
|
||||
# 156| 0: [VarAccess] q
|
||||
# 156| 1: [IntegerLiteral] 2
|
||||
#-----| 1: (branch)
|
||||
# 156| 1: [WhenBranch] ... -> ...
|
||||
# 156| 0: [BooleanLiteral] true
|
||||
# 156| 1: [BlockStmt] { ... }
|
||||
# 156| 0: [ExprStmt] <Expr>;
|
||||
@@ -938,7 +938,7 @@ exprs.kt:
|
||||
# 160| -1: [VarAccess] p
|
||||
# 161| 1: [ExprStmt] <Expr>;
|
||||
# 161| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 161| 0: [WhenBranch] ... -> ...
|
||||
# 161| 0: [ValueNEExpr] ... (value not-equals) ...
|
||||
# 161| 0: [VarAccess] r
|
||||
# 161| 1: [NullLiteral] null
|
||||
@@ -2833,7 +2833,7 @@ samConversion.kt:
|
||||
# 9| 0: [VarAccess] i
|
||||
# 9| -3: [TypeAccess] IntPredicate
|
||||
# 9| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 9| 0: [WhenBranch] ... -> ...
|
||||
# 9| 0: [VarAccess] b
|
||||
# 9| 1: [ExprStmt] <Expr>;
|
||||
# 9| 0: [LambdaExpr] ...->...
|
||||
@@ -2854,7 +2854,7 @@ samConversion.kt:
|
||||
# 9| -3: [TypeAccess] Function1<Integer,Boolean>
|
||||
# 9| 0: [TypeAccess] Integer
|
||||
# 9| 1: [TypeAccess] Boolean
|
||||
#-----| 1: (branch)
|
||||
# 9| 1: [WhenBranch] ... -> ...
|
||||
# 9| 0: [BooleanLiteral] true
|
||||
# 11| 1: [ExprStmt] <Expr>;
|
||||
# 11| 0: [LambdaExpr] ...->...
|
||||
@@ -3458,25 +3458,25 @@ whenExpr.kt:
|
||||
# 2| 0: [VarAccess] i
|
||||
# 2| 1: [ExprStmt] <Expr>;
|
||||
# 2| 0: [WhenExpr] when ...
|
||||
#-----| 0: (branch)
|
||||
# 3| 0: [WhenBranch] ... -> ...
|
||||
# 3| 0: [ValueEQExpr] ... (value equals) ...
|
||||
# 3| 0: [VarAccess] tmp0_subject
|
||||
# 3| 1: [IntegerLiteral] 0
|
||||
# 3| 1: [ExprStmt] <Expr>;
|
||||
# 3| 0: [IntegerLiteral] 1
|
||||
#-----| 1: (branch)
|
||||
# 4| 1: [WhenBranch] ... -> ...
|
||||
# 4| 0: [ValueEQExpr] ... (value equals) ...
|
||||
# 4| 0: [VarAccess] tmp0_subject
|
||||
# 4| 1: [IntegerLiteral] 1
|
||||
# 4| 1: [ExprStmt] <Expr>;
|
||||
# 4| 0: [IntegerLiteral] 2
|
||||
#-----| 2: (branch)
|
||||
# 5| 2: [WhenBranch] ... -> ...
|
||||
# 5| 0: [ValueEQExpr] ... (value equals) ...
|
||||
# 5| 0: [VarAccess] tmp0_subject
|
||||
# 5| 1: [IntegerLiteral] 2
|
||||
# 5| 1: [ReturnStmt] return ...
|
||||
# 5| 0: [IntegerLiteral] 3
|
||||
#-----| 3: (branch)
|
||||
# 6| 3: [WhenBranch] ... -> ...
|
||||
# 6| 0: [ValueEQExpr] ... (value equals) ...
|
||||
# 6| 0: [VarAccess] tmp0_subject
|
||||
# 6| 1: [IntegerLiteral] 3
|
||||
@@ -3484,7 +3484,7 @@ whenExpr.kt:
|
||||
# 6| 0: [ClassInstanceExpr] new Exception(...)
|
||||
# 6| -3: [TypeAccess] Exception
|
||||
# 6| 0: [StringLiteral] No threes please
|
||||
#-----| 4: (branch)
|
||||
# 7| 4: [WhenBranch] ... -> ...
|
||||
# 7| 0: [BooleanLiteral] true
|
||||
# 7| 1: [ExprStmt] <Expr>;
|
||||
# 7| 0: [IntegerLiteral] 999
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
| stmts.kt:2:41:20:1 | { ... } | BlockStmt |
|
||||
| stmts.kt:3:5:6:5 | <Expr>; | ExprStmt |
|
||||
| stmts.kt:3:8:4:5 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:3:15:4:5 | { ... } | BlockStmt |
|
||||
| stmts.kt:4:15:5:5 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:4:22:5:5 | { ... } | BlockStmt |
|
||||
| stmts.kt:5:12:6:5 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:5:12:6:5 | { ... } | BlockStmt |
|
||||
| stmts.kt:7:5:8:16 | while (...) | WhileStmt |
|
||||
| stmts.kt:8:9:8:16 | return ... | ReturnStmt |
|
||||
@@ -14,11 +17,15 @@
|
||||
| stmts.kt:13:9:13:16 | return ... | ReturnStmt |
|
||||
| stmts.kt:15:5:15:13 | var ...; | LocalVariableDeclStmt |
|
||||
| stmts.kt:17:5:17:58 | var ...; | LocalVariableDeclStmt |
|
||||
| stmts.kt:17:26:17:58 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:17:26:17:58 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:17:35:17:43 | { ... } | BlockStmt |
|
||||
| stmts.kt:17:37:17:37 | <Expr>; | ExprStmt |
|
||||
| stmts.kt:17:50:17:58 | { ... } | BlockStmt |
|
||||
| stmts.kt:17:52:17:52 | <Expr>; | ExprStmt |
|
||||
| stmts.kt:18:5:18:56 | var ...; | LocalVariableDeclStmt |
|
||||
| stmts.kt:18:26:18:56 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:18:26:18:56 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:18:37:18:37 | <Expr>; | ExprStmt |
|
||||
| stmts.kt:18:52:18:52 | <Expr>; | ExprStmt |
|
||||
| stmts.kt:19:5:19:16 | return ... | ReturnStmt |
|
||||
@@ -28,6 +35,7 @@
|
||||
| stmts.kt:24:9:26:25 | do ... while (...) | DoStmt |
|
||||
| stmts.kt:24:9:26:25 | { ... } | BlockStmt |
|
||||
| stmts.kt:24:13:26:9 | { ... } | BlockStmt |
|
||||
| stmts.kt:25:13:25:33 | ... -> ... | WhenBranch |
|
||||
| stmts.kt:25:13:25:33 | <Expr>; | ExprStmt |
|
||||
| stmts.kt:25:24:25:33 | break | BreakStmt |
|
||||
| stmts.kt:28:5:29:16 | while (...) | WhileStmt |
|
||||
|
||||
Reference in New Issue
Block a user