Modify extraction of &&/|| to resugar it from when expression

This commit is contained in:
Tamas Vajk
2022-04-07 13:46:18 +02:00
committed by Ian Lynagh
parent d33224a058
commit 3af8273620
10 changed files with 78 additions and 156 deletions

View File

@@ -2635,6 +2635,44 @@ open class KotlinFileExtractor(
} }
} }
is IrWhen -> { is IrWhen -> {
if (e.origin == IrStatementOrigin.ANDAND ||
e.origin == IrStatementOrigin.OROR) {
// resugar binary logical operators:
val exprParent = parent.expr(e, callable)
val type = useType(e.type)
val id = if (e.origin == IrStatementOrigin.ANDAND){
val id = tw.getFreshIdLabel<DbAndlogicalexpr>()
tw.writeExprs_andlogicalexpr(id, type.javaResult.id, exprParent.parent, exprParent.idx)
id
}
else {
val id = tw.getFreshIdLabel<DbOrlogicalexpr>()
tw.writeExprs_orlogicalexpr(id, type.javaResult.id, exprParent.parent, exprParent.idx)
id
}
val locId = tw.getLocation(e)
tw.writeExprsKotlinType(id, type.kotlinResult.id)
tw.writeHasLocation(id, locId)
tw.writeCallableEnclosingExpr(id, callable)
tw.writeStatementEnclosingExpr(id, exprParent.enclosingStmt)
if (e.branches.size != 2) {
logger.errorElement("Expected to find 2 when branches for ${e.origin}, found ${e.branches.size}", e)
return
}
extractExpressionExpr(e.branches[0].condition, callable, id, 0, exprParent.enclosingStmt)
var rhsIdx = if (e.origin == IrStatementOrigin.ANDAND) 0 else 1
extractExpressionExpr(e.branches[rhsIdx].result, callable, id, 1, exprParent.enclosingStmt)
return
}
val exprParent = parent.expr(e, callable) val exprParent = parent.expr(e, callable)
val id = tw.getFreshIdLabel<DbWhenexpr>() val id = tw.getFreshIdLabel<DbWhenexpr>()
val type = useType(e.type) val type = useType(e.type)

View File

@@ -137,19 +137,13 @@
| Test.kt:100:25:110:1 | { ... } | 1 | Test.kt:101:5:103:5 | <Expr>; | | Test.kt:100:25:110:1 | { ... } | 1 | Test.kt:101:5:103:5 | <Expr>; |
| Test.kt:100:25:110:1 | { ... } | 2 | Test.kt:101:5:103:5 | when ... | | Test.kt:100:25:110:1 | { ... } | 2 | Test.kt:101:5:103:5 | when ... |
| Test.kt:100:25:110:1 | { ... } | 3 | Test.kt:101:5:103:5 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | 3 | Test.kt:101:5:103:5 | ... -> ... |
| Test.kt:100:25:110:1 | { ... } | 4 | Test.kt:101:9:101:30 | when ... | | Test.kt:100:25:110:1 | { ... } | 4 | Test.kt:101:9:101:30 | ... && ... |
| Test.kt:100:25:110:1 | { ... } | 5 | Test.kt:101:9:101:30 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | 5 | Test.kt:101:9:101:9 | x |
| Test.kt:100:25:110:1 | { ... } | 6 | Test.kt:101:9:101:9 | x | | Test.kt:100:25:110:1 | { ... } | 6 | Test.kt:101:14:101:17 | null |
| Test.kt:100:25:110:1 | { ... } | 7 | Test.kt:101:14:101:17 | null | | Test.kt:100:25:110:1 | { ... } | 7 | Test.kt:101:9:101:17 | ... (value equals) ... |
| Test.kt:100:25:110:1 | { ... } | 8 | Test.kt:101:9:101:17 | ... (value equals) ... | | Test.kt:101:22:101:22 | y | 0 | Test.kt:101:22:101:22 | y |
| Test.kt:101:22:101:30 | ... -> ... | 0 | Test.kt:101:22:101:30 | ... -> ... | | Test.kt:101:22:101:22 | y | 1 | Test.kt:101:27:101:30 | null |
| Test.kt:101:22:101:30 | ... -> ... | 1 | Test.kt:101:22:101:30 | true | | Test.kt:101:22:101:22 | y | 2 | Test.kt:101:22:101:30 | ... (value equals) ... |
| Test.kt:101:22:101:30 | ... -> ... | 2 | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:22:101:30 | ... -> ... | 3 | Test.kt:101:22:101:30 | false |
| Test.kt:101:22:101:30 | <Expr>; | 0 | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | 1 | Test.kt:101:22:101:22 | y |
| Test.kt:101:22:101:30 | <Expr>; | 2 | Test.kt:101:27:101:30 | null |
| Test.kt:101:22:101:30 | <Expr>; | 3 | Test.kt:101:22:101:30 | ... (value equals) ... |
| Test.kt:101:33:103:5 | { ... } | 0 | Test.kt:101:33:103:5 | { ... } | | Test.kt:101:33:103:5 | { ... } | 0 | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:33:103:5 | { ... } | 1 | Test.kt:102:15:102:25 | new Exception(...) | | Test.kt:101:33:103:5 | { ... } | 1 | Test.kt:102:15:102:25 | new Exception(...) |
| Test.kt:101:33:103:5 | { ... } | 2 | Test.kt:102:9:102:25 | throw ... | | Test.kt:101:33:103:5 | { ... } | 2 | Test.kt:102:9:102:25 | throw ... |
@@ -176,15 +170,9 @@
| Test.kt:112:32:116:1 | { ... } | 1 | Test.kt:113:5:115:5 | <Expr>; | | Test.kt:112:32:116:1 | { ... } | 1 | Test.kt:113:5:115:5 | <Expr>; |
| Test.kt:112:32:116:1 | { ... } | 2 | Test.kt:113:5:115:5 | when ... | | Test.kt:112:32:116:1 | { ... } | 2 | Test.kt:113:5:115:5 | when ... |
| Test.kt:112:32:116:1 | { ... } | 3 | Test.kt:113:5:115:5 | ... -> ... | | Test.kt:112:32:116:1 | { ... } | 3 | Test.kt:113:5:115:5 | ... -> ... |
| Test.kt:112:32:116:1 | { ... } | 4 | Test.kt:113:9:113:14 | when ... | | Test.kt:112:32:116:1 | { ... } | 4 | Test.kt:113:9:113:14 | ... && ... |
| Test.kt:112:32:116:1 | { ... } | 5 | Test.kt:113:9:113:14 | ... -> ... | | Test.kt:112:32:116:1 | { ... } | 5 | Test.kt:113:9:113:9 | x |
| Test.kt:112:32:116:1 | { ... } | 6 | Test.kt:113:9:113:9 | x | | Test.kt:113:14:113:14 | y | 0 | Test.kt:113:14:113:14 | y |
| Test.kt:113:14:113:14 | ... -> ... | 0 | Test.kt:113:14:113:14 | ... -> ... |
| Test.kt:113:14:113:14 | ... -> ... | 1 | Test.kt:113:14:113:14 | true |
| Test.kt:113:14:113:14 | ... -> ... | 2 | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:14:113:14 | ... -> ... | 3 | Test.kt:113:14:113:14 | false |
| Test.kt:113:14:113:14 | <Expr>; | 0 | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:14:113:14 | <Expr>; | 1 | Test.kt:113:14:113:14 | y |
| Test.kt:113:17:115:5 | { ... } | 0 | Test.kt:113:17:115:5 | { ... } | | Test.kt:113:17:115:5 | { ... } | 0 | Test.kt:113:17:115:5 | { ... } |
| Test.kt:118:1:124:1 | fn_when | 0 | Test.kt:118:1:124:1 | fn_when | | Test.kt:118:1:124:1 | fn_when | 0 | Test.kt:118:1:124:1 | fn_when |
| Test.kt:118:37:124:1 | { ... } | 0 | Test.kt:118:37:124:1 | { ... } | | Test.kt:118:37:124:1 | { ... } | 0 | Test.kt:118:37:124:1 | { ... } |

View File

@@ -34,29 +34,21 @@
| Test.kt:91:22:98:1 | { ... } | Test.kt:93:3:93:13 | x | | Test.kt:91:22:98:1 | { ... } | Test.kt:93:3:93:13 | x |
| Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) | | Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) |
| Test.kt:100:25:110:1 | { ... } | Test.kt:100:1:110:1 | fn | | Test.kt:100:25:110:1 | { ... } | Test.kt:100:1:110:1 | fn |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:30 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:22 | y |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:33:103:5 | { ... } | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:33:103:5 | { ... } |
| Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | <Expr>; | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | <Expr>; |
| Test.kt:100:25:110:1 | { ... } | Test.kt:105:20:107:5 | { ... } | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:20:107:5 | { ... } |
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... |
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } | | Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:100:1:110:1 | fn | | Test.kt:101:22:101:22 | y | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:105:5:109:5 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:107:27:109:5 | { ... } |
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } | | Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:27:109:5 | { ... } | | Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:27:109:5 | { ... } |
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } | | Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | fn | | Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | fn |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | ... -> ... | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:17:115:5 | { ... } | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:17:115:5 | { ... } |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:112:1:116:1 | fn | | Test.kt:113:14:113:14 | y | Test.kt:113:17:115:5 | { ... } |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:113:17:115:5 | { ... } |
| Test.kt:118:37:124:1 | { ... } | Test.kt:118:1:124:1 | fn_when | | Test.kt:118:37:124:1 | { ... } | Test.kt:118:1:124:1 | fn_when |
| Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | <Expr>; | | Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | <Expr>; |
| Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... | | Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... |

View File

@@ -21,10 +21,10 @@
| Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) | | Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) |
| Test.kt:93:3:93:13 | x | Test.kt:91:1:98:1 | t2 | | Test.kt:93:3:93:13 | x | Test.kt:91:1:98:1 | t2 |
| Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | t2 | | Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | t2 |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:30 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:22 | y |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:30 | <Expr>; | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:101:33:103:5 | { ... } | | Test.kt:101:22:101:22 | y | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:105:5:109:5 | <Expr>; | | Test.kt:101:22:101:22 | y | Test.kt:105:5:109:5 | <Expr>; |
| Test.kt:101:33:103:5 | { ... } | Test.kt:100:1:110:1 | fn | | Test.kt:101:33:103:5 | { ... } | Test.kt:100:1:110:1 | fn |
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } | | Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
@@ -32,10 +32,10 @@
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:100:1:110:1 | fn | | Test.kt:107:16:109:5 | ... -> ... | Test.kt:100:1:110:1 | fn |
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } | | Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
| Test.kt:107:27:109:5 | { ... } | Test.kt:100:1:110:1 | fn | | Test.kt:107:27:109:5 | { ... } | Test.kt:100:1:110:1 | fn |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | ... -> ... | | Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | fn |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | <Expr>; | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:112:1:116:1 | fn | | Test.kt:113:14:113:14 | y | Test.kt:112:1:116:1 | fn |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:113:17:115:5 | { ... } | | Test.kt:113:14:113:14 | y | Test.kt:113:17:115:5 | { ... } |
| Test.kt:113:17:115:5 | { ... } | Test.kt:112:1:116:1 | fn | | Test.kt:113:17:115:5 | { ... } | Test.kt:112:1:116:1 | fn |
| Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | <Expr>; | | Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | <Expr>; |
| Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... | | Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... |

View File

@@ -1,6 +1,4 @@
missingSuccessor missingSuccessor
| Test.kt:101:22:101:30 | false |
| Test.kt:113:14:113:14 | false |
| Test.kt:122:12:122:16 | false | | Test.kt:122:12:122:16 | false |
#select #select
| Test.kt:0:0:0:0 | TestKt | Class | file://:0:0:0:0 | <none> | <none> | | Test.kt:0:0:0:0 | TestKt | Class | file://:0:0:0:0 | <none> | <none> |
@@ -186,23 +184,17 @@ missingSuccessor
| Test.kt:100:16:100:22 | Object | TypeAccess | file://:0:0:0:0 | <none> | <none> | | Test.kt:100:16:100:22 | Object | TypeAccess | file://:0:0:0:0 | <none> | <none> |
| Test.kt:100:16:100:22 | y | Parameter | file://:0:0:0:0 | <none> | <none> | | Test.kt:100:16:100:22 | y | Parameter | file://:0:0:0:0 | <none> | <none> |
| Test.kt:100:25:110:1 | { ... } | BlockStmt | Test.kt:101:5:103:5 | <Expr>; | ExprStmt | | Test.kt:100:25:110:1 | { ... } | BlockStmt | Test.kt:101:5:103:5 | <Expr>; | ExprStmt |
| Test.kt:101:5:103:5 | ... -> ... | WhenBranch | Test.kt:101:9:101:30 | when ... | WhenExpr | | Test.kt:101:5:103:5 | ... -> ... | WhenBranch | Test.kt:101:9:101:30 | ... && ... | AndLogicalExpr |
| Test.kt:101:5:103:5 | <Expr>; | ExprStmt | Test.kt:101:5:103:5 | when ... | WhenExpr | | Test.kt:101:5:103:5 | <Expr>; | ExprStmt | Test.kt:101:5:103:5 | when ... | WhenExpr |
| Test.kt:101:5:103:5 | when ... | WhenExpr | Test.kt:101:5:103:5 | ... -> ... | WhenBranch | | Test.kt:101:5:103:5 | when ... | WhenExpr | Test.kt:101:5:103:5 | ... -> ... | WhenBranch |
| Test.kt:101:9:101:9 | x | VarAccess | Test.kt:101:14:101:17 | null | NullLiteral | | Test.kt:101:9:101:9 | x | VarAccess | Test.kt:101:14:101:17 | null | NullLiteral |
| Test.kt:101:9:101:17 | ... (value equals) ... | ValueEQExpr | Test.kt:101:22:101:30 | ... -> ... | WhenBranch | | Test.kt:101:9:101:17 | ... (value equals) ... | ValueEQExpr | Test.kt:101:22:101:22 | y | VarAccess |
| Test.kt:101:9:101:17 | ... (value equals) ... | ValueEQExpr | Test.kt:101:22:101:30 | <Expr>; | ExprStmt | | Test.kt:101:9:101:17 | ... (value equals) ... | ValueEQExpr | Test.kt:105:5:109:5 | <Expr>; | ExprStmt |
| Test.kt:101:9:101:30 | ... -> ... | WhenBranch | Test.kt:101:9:101:9 | x | VarAccess | | Test.kt:101:9:101:30 | ... && ... | AndLogicalExpr | Test.kt:101:9:101:9 | x | VarAccess |
| Test.kt:101:9:101:30 | when ... | WhenExpr | Test.kt:101:9:101:30 | ... -> ... | WhenBranch |
| Test.kt:101:14:101:17 | null | NullLiteral | Test.kt:101:9:101:17 | ... (value equals) ... | ValueEQExpr | | Test.kt:101:14:101:17 | null | NullLiteral | Test.kt:101:9:101:17 | ... (value equals) ... | ValueEQExpr |
| Test.kt:101:22:101:22 | y | VarAccess | Test.kt:101:27:101:30 | null | NullLiteral | | Test.kt:101:22:101:22 | y | VarAccess | Test.kt:101:27:101:30 | null | NullLiteral |
| Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | Test.kt:101:33:103:5 | { ... } | BlockStmt | | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | Test.kt:101:33:103:5 | { ... } | BlockStmt |
| Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | Test.kt:105:5:109:5 | <Expr>; | ExprStmt | | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | Test.kt:105:5:109:5 | <Expr>; | ExprStmt |
| Test.kt:101:22:101:30 | ... -> ... | WhenBranch | Test.kt:101:22:101:30 | true | BooleanLiteral |
| Test.kt:101:22:101:30 | <Expr>; | ExprStmt | Test.kt:101:22:101:22 | y | VarAccess |
| Test.kt:101:22:101:30 | <Expr>; | ExprStmt | Test.kt:101:22:101:30 | false | BooleanLiteral |
| Test.kt:101:22:101:30 | false | BooleanLiteral | file://:0:0:0:0 | <none> | <none> |
| Test.kt:101:22:101:30 | true | BooleanLiteral | Test.kt:101:22:101:30 | <Expr>; | ExprStmt |
| Test.kt:101:27:101:30 | null | NullLiteral | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | | Test.kt:101:27:101:30 | null | NullLiteral | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr |
| Test.kt:101:33:103:5 | { ... } | BlockStmt | Test.kt:102:15:102:25 | new Exception(...) | ClassInstanceExpr | | Test.kt:101:33:103:5 | { ... } | BlockStmt | Test.kt:102:15:102:25 | new Exception(...) | ClassInstanceExpr |
| Test.kt:102:9:102:25 | throw ... | ThrowStmt | Test.kt:100:1:110:1 | fn | Method | | Test.kt:102:9:102:25 | throw ... | ThrowStmt | Test.kt:100:1:110:1 | fn | Method |
@@ -237,18 +229,12 @@ missingSuccessor
| Test.kt:112:20:112:29 | boolean | TypeAccess | file://:0:0:0:0 | <none> | <none> | | Test.kt:112:20:112:29 | boolean | TypeAccess | file://:0:0:0:0 | <none> | <none> |
| Test.kt:112:20:112:29 | y | Parameter | file://:0:0:0:0 | <none> | <none> | | Test.kt:112:20:112:29 | y | Parameter | file://:0:0:0:0 | <none> | <none> |
| Test.kt:112:32:116:1 | { ... } | BlockStmt | Test.kt:113:5:115:5 | <Expr>; | ExprStmt | | Test.kt:112:32:116:1 | { ... } | BlockStmt | Test.kt:113:5:115:5 | <Expr>; | ExprStmt |
| Test.kt:113:5:115:5 | ... -> ... | WhenBranch | Test.kt:113:9:113:14 | when ... | WhenExpr | | Test.kt:113:5:115:5 | ... -> ... | WhenBranch | Test.kt:113:9:113:14 | ... && ... | AndLogicalExpr |
| Test.kt:113:5:115:5 | <Expr>; | ExprStmt | Test.kt:113:5:115:5 | when ... | WhenExpr | | Test.kt:113:5:115:5 | <Expr>; | ExprStmt | Test.kt:113:5:115:5 | when ... | WhenExpr |
| Test.kt:113:5:115:5 | when ... | WhenExpr | Test.kt:113:5:115:5 | ... -> ... | WhenBranch | | Test.kt:113:5:115:5 | when ... | WhenExpr | Test.kt:113:5:115:5 | ... -> ... | WhenBranch |
| Test.kt:113:9:113:9 | x | VarAccess | Test.kt:113:14:113:14 | ... -> ... | WhenBranch | | Test.kt:113:9:113:9 | x | VarAccess | Test.kt:112:1:116:1 | fn | Method |
| Test.kt:113:9:113:9 | x | VarAccess | Test.kt:113:14:113:14 | <Expr>; | ExprStmt | | Test.kt:113:9:113:9 | x | VarAccess | Test.kt:113:14:113:14 | y | VarAccess |
| Test.kt:113:9:113:14 | ... -> ... | WhenBranch | Test.kt:113:9:113:9 | x | VarAccess | | Test.kt:113:9:113:14 | ... && ... | AndLogicalExpr | Test.kt:113:9:113:9 | x | VarAccess |
| Test.kt:113:9:113:14 | when ... | WhenExpr | Test.kt:113:9:113:14 | ... -> ... | WhenBranch |
| Test.kt:113:14:113:14 | ... -> ... | WhenBranch | Test.kt:113:14:113:14 | true | BooleanLiteral |
| Test.kt:113:14:113:14 | <Expr>; | ExprStmt | Test.kt:113:14:113:14 | false | BooleanLiteral |
| Test.kt:113:14:113:14 | <Expr>; | ExprStmt | Test.kt:113:14:113:14 | y | VarAccess |
| Test.kt:113:14:113:14 | false | BooleanLiteral | file://:0:0:0:0 | <none> | <none> |
| Test.kt:113:14:113:14 | true | BooleanLiteral | Test.kt:113:14:113:14 | <Expr>; | ExprStmt |
| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | fn | Method | | Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | fn | Method |
| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:113:17:115:5 | { ... } | BlockStmt | | Test.kt:113:14:113:14 | y | VarAccess | Test.kt:113:17:115:5 | { ... } | BlockStmt |
| Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | fn | Method | | Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | fn | Method |

View File

@@ -490,10 +490,6 @@
| Test.kt:95:36:97:2 | { ... } | Test.kt:96:3:96:10 | return ... | | Test.kt:95:36:97:2 | { ... } | Test.kt:96:3:96:10 | return ... |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:5:103:5 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:5:103:5 | ... -> ... |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:5:103:5 | <Expr>; | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:5:103:5 | <Expr>; |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:9:101:30 | ... -> ... |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:30 | ... -> ... |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:33:103:5 | { ... } | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:33:103:5 | { ... } |
| Test.kt:100:25:110:1 | { ... } | Test.kt:102:9:102:25 | throw ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:102:9:102:25 | throw ... |
| Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | <Expr>; | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | <Expr>; |
@@ -503,10 +499,6 @@
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... |
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } | | Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } |
| Test.kt:100:25:110:1 | { ... } | Test.kt:108:9:108:29 | <Expr>; | | Test.kt:100:25:110:1 | { ... } | Test.kt:108:9:108:29 | <Expr>; |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:9:101:30 | ... -> ... |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:22:101:30 | ... -> ... |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:33:103:5 | { ... } | | Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:102:9:102:25 | throw ... | | Test.kt:101:5:103:5 | ... -> ... | Test.kt:102:9:102:25 | throw ... |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:105:5:109:5 | <Expr>; | | Test.kt:101:5:103:5 | ... -> ... | Test.kt:105:5:109:5 | <Expr>; |
@@ -517,10 +509,6 @@
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } | | Test.kt:101:5:103:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:108:9:108:29 | <Expr>; | | Test.kt:101:5:103:5 | ... -> ... | Test.kt:108:9:108:29 | <Expr>; |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:5:103:5 | ... -> ... | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:5:103:5 | ... -> ... |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:9:101:30 | ... -> ... |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:22:101:30 | ... -> ... |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:33:103:5 | { ... } | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:102:9:102:25 | throw ... | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:102:9:102:25 | throw ... |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:105:5:109:5 | <Expr>; | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:105:5:109:5 | <Expr>; |
@@ -530,28 +518,6 @@
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:107:27:109:5 | { ... } | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:107:27:109:5 | { ... } |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:108:9:108:29 | <Expr>; | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:108:9:108:29 | <Expr>; |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:101:22:101:30 | ... -> ... |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:102:9:102:25 | throw ... |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:105:5:109:5 | <Expr>; |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:105:9:107:5 | ... -> ... |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:105:20:107:5 | { ... } |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:106:9:106:29 | <Expr>; |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:107:16:109:5 | ... -> ... |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:108:9:108:29 | <Expr>; |
| Test.kt:101:22:101:30 | ... -> ... | Test.kt:101:22:101:30 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:101:33:103:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:102:9:102:25 | throw ... |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:105:5:109:5 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:105:9:107:5 | ... -> ... |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:106:9:106:29 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:107:27:109:5 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:108:9:108:29 | <Expr>; |
| Test.kt:101:33:103:5 | { ... } | Test.kt:102:9:102:25 | throw ... | | Test.kt:101:33:103:5 | { ... } | Test.kt:102:9:102:25 | throw ... |
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:9:107:5 | ... -> ... | | Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:9:107:5 | ... -> ... |
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } | | Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
@@ -570,28 +536,10 @@
| Test.kt:107:27:109:5 | { ... } | Test.kt:108:9:108:29 | <Expr>; | | Test.kt:107:27:109:5 | { ... } | Test.kt:108:9:108:29 | <Expr>; |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:5:115:5 | ... -> ... | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:5:115:5 | ... -> ... |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:5:115:5 | <Expr>; | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:5:115:5 | <Expr>; |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:9:113:14 | ... -> ... |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | ... -> ... |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:17:115:5 | { ... } | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:17:115:5 | { ... } |
| Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:9:113:14 | ... -> ... |
| Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:14:113:14 | ... -> ... |
| Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:17:115:5 | { ... } | | Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:17:115:5 | { ... } |
| Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:5:115:5 | ... -> ... | | Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:5:115:5 | ... -> ... |
| Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:9:113:14 | ... -> ... |
| Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:14:113:14 | ... -> ... |
| Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:17:115:5 | { ... } | | Test.kt:113:5:115:5 | <Expr>; | Test.kt:113:17:115:5 | { ... } |
| Test.kt:113:9:113:14 | ... -> ... | Test.kt:113:14:113:14 | ... -> ... |
| Test.kt:113:9:113:14 | ... -> ... | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:9:113:14 | ... -> ... | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:9:113:14 | ... -> ... | Test.kt:113:17:115:5 | { ... } |
| Test.kt:113:14:113:14 | ... -> ... | Test.kt:113:14:113:14 | <Expr>; |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:113:17:115:5 | { ... } |
| Test.kt:118:37:124:1 | { ... } | Test.kt:119:2:123:12 | <Expr>; | | Test.kt:118:37:124:1 | { ... } | Test.kt:119:2:123:12 | <Expr>; |
| Test.kt:118:37:124:1 | { ... } | Test.kt:120:3:123:10 | ... -> ... | | Test.kt:118:37:124:1 | { ... } | Test.kt:120:3:123:10 | ... -> ... |
| Test.kt:118:37:124:1 | { ... } | Test.kt:121:4:121:9 | ... -> ... | | Test.kt:118:37:124:1 | { ... } | Test.kt:121:4:121:9 | ... -> ... |

View File

@@ -207,14 +207,6 @@
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:100:25:110:1 | { ... } | | Test.kt:101:5:103:5 | ... -> ... | Test.kt:100:25:110:1 | { ... } |
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:5:103:5 | <Expr>; | | Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:5:103:5 | <Expr>; |
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:100:25:110:1 | { ... } | | Test.kt:101:5:103:5 | <Expr>; | Test.kt:100:25:110:1 | { ... } |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:100:25:110:1 | { ... } |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:101:5:103:5 | ... -> ... |
| Test.kt:101:9:101:30 | ... -> ... | Test.kt:101:5:103:5 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:100:25:110:1 | { ... } |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:101:5:103:5 | ... -> ... |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:101:5:103:5 | <Expr>; |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:101:9:101:30 | ... -> ... |
| Test.kt:101:22:101:30 | <Expr>; | Test.kt:101:22:101:30 | ... -> ... |
| Test.kt:102:9:102:25 | throw ... | Test.kt:101:33:103:5 | { ... } | | Test.kt:102:9:102:25 | throw ... | Test.kt:101:33:103:5 | { ... } |
| Test.kt:105:9:107:5 | ... -> ... | Test.kt:105:5:109:5 | <Expr>; | | Test.kt:105:9:107:5 | ... -> ... | Test.kt:105:5:109:5 | <Expr>; |
| Test.kt:106:9:106:29 | <Expr>; | Test.kt:105:20:107:5 | { ... } | | Test.kt:106:9:106:29 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
@@ -222,14 +214,6 @@
| Test.kt:113:5:115:5 | ... -> ... | Test.kt:112:32:116:1 | { ... } | | Test.kt:113:5:115:5 | ... -> ... | Test.kt:112:32:116:1 | { ... } |
| Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:5:115:5 | <Expr>; | | Test.kt:113:5:115:5 | ... -> ... | Test.kt:113:5:115:5 | <Expr>; |
| Test.kt:113:5:115:5 | <Expr>; | Test.kt:112:32:116:1 | { ... } | | Test.kt:113:5:115:5 | <Expr>; | Test.kt:112:32:116:1 | { ... } |
| Test.kt:113:9:113:14 | ... -> ... | Test.kt:112:32:116:1 | { ... } |
| Test.kt:113:9:113:14 | ... -> ... | Test.kt:113:5:115:5 | ... -> ... |
| Test.kt:113:9:113:14 | ... -> ... | Test.kt:113:5:115:5 | <Expr>; |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:112:32:116:1 | { ... } |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:113:5:115:5 | ... -> ... |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:113:5:115:5 | <Expr>; |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:113:9:113:14 | ... -> ... |
| Test.kt:113:14:113:14 | <Expr>; | Test.kt:113:14:113:14 | ... -> ... |
| Test.kt:119:2:123:12 | <Expr>; | Test.kt:118:37:124:1 | { ... } | | Test.kt:119:2:123:12 | <Expr>; | Test.kt:118:37:124:1 | { ... } |
| Test.kt:120:3:123:10 | ... -> ... | Test.kt:118:37:124:1 | { ... } | | Test.kt:120:3:123:10 | ... -> ... | Test.kt:118:37:124:1 | { ... } |
| Test.kt:120:3:123:10 | ... -> ... | Test.kt:119:2:123:12 | <Expr>; | | Test.kt:120:3:123:10 | ... -> ... | Test.kt:119:2:123:12 | <Expr>; |

View File

@@ -2406,26 +2406,14 @@ exprs.kt:
# 112| 0: [BooleanLiteral] false # 112| 0: [BooleanLiteral] false
# 113| 96: [LocalVariableDeclStmt] var ...; # 113| 96: [LocalVariableDeclStmt] var ...;
# 113| 1: [LocalVariableDeclExpr] b3 # 113| 1: [LocalVariableDeclExpr] b3
# 113| 0: [WhenExpr] when ... # 113| 0: [AndLogicalExpr] ... && ...
# 113| 0: [WhenBranch] ... -> ... # 113| 0: [VarAccess] b1
# 113| 0: [VarAccess] b1 # 113| 1: [VarAccess] b2
# 113| 1: [ExprStmt] <Expr>;
# 113| 0: [VarAccess] b2
# 113| 1: [WhenBranch] ... -> ...
# 113| 0: [BooleanLiteral] true
# 113| 1: [ExprStmt] <Expr>;
# 113| 0: [BooleanLiteral] false
# 114| 97: [LocalVariableDeclStmt] var ...; # 114| 97: [LocalVariableDeclStmt] var ...;
# 114| 1: [LocalVariableDeclExpr] b4 # 114| 1: [LocalVariableDeclExpr] b4
# 114| 0: [WhenExpr] when ... # 114| 0: [OrLogicalExpr] ... || ...
# 114| 0: [WhenBranch] ... -> ... # 114| 0: [VarAccess] b1
# 114| 0: [VarAccess] b1 # 114| 1: [VarAccess] b2
# 114| 1: [ExprStmt] <Expr>;
# 114| 0: [BooleanLiteral] true
# 114| 1: [WhenBranch] ... -> ...
# 114| 0: [BooleanLiteral] true
# 114| 1: [ExprStmt] <Expr>;
# 114| 0: [VarAccess] b2
# 115| 98: [LocalVariableDeclStmt] var ...; # 115| 98: [LocalVariableDeclStmt] var ...;
# 115| 1: [LocalVariableDeclExpr] b5 # 115| 1: [LocalVariableDeclExpr] b5
# 115| 0: [MethodAccess] not(...) # 115| 0: [MethodAccess] not(...)

View File

@@ -70,6 +70,8 @@
| exprs.kt:107:15:107:22 | ... >= ... | exprs.kt:107:15:107:16 | fx | exprs.kt:107:21:107:22 | fy | | exprs.kt:107:15:107:22 | ... >= ... | exprs.kt:107:15:107:16 | fx | exprs.kt:107:21:107:22 | fy |
| exprs.kt:108:15:108:23 | ... == ... | exprs.kt:108:15:108:16 | fx | exprs.kt:108:22:108:23 | fy | | exprs.kt:108:15:108:23 | ... == ... | exprs.kt:108:15:108:16 | fx | exprs.kt:108:22:108:23 | fy |
| exprs.kt:109:15:109:23 | ... != ... | exprs.kt:109:15:109:16 | fx | exprs.kt:109:22:109:23 | fy | | exprs.kt:109:15:109:23 | ... != ... | exprs.kt:109:15:109:16 | fx | exprs.kt:109:22:109:23 | fy |
| exprs.kt:113:14:113:21 | ... && ... | exprs.kt:113:14:113:15 | b1 | exprs.kt:113:20:113:21 | b2 |
| exprs.kt:114:14:114:21 | ... \|\| ... | exprs.kt:114:14:114:15 | b1 | exprs.kt:114:20:114:21 | b2 |
| exprs.kt:127:31:127:41 | ... + ... | exprs.kt:127:31:127:34 | str1 | exprs.kt:127:38:127:41 | str2 | | exprs.kt:127:31:127:41 | ... + ... | exprs.kt:127:31:127:34 | str1 | exprs.kt:127:38:127:41 | str2 |
| exprs.kt:127:50:127:60 | ... + ... | exprs.kt:127:50:127:53 | str2 | exprs.kt:127:57:127:60 | str1 | | exprs.kt:127:50:127:60 | ... + ... | exprs.kt:127:50:127:53 | str2 | exprs.kt:127:57:127:60 | str1 |
| exprs.kt:128:16:128:26 | ... + ... | exprs.kt:128:16:128:19 | str1 | exprs.kt:128:23:128:26 | str2 | | exprs.kt:128:16:128:26 | ... + ... | exprs.kt:128:16:128:19 | str1 | exprs.kt:128:23:128:26 | str2 |

View File

@@ -1295,16 +1295,12 @@
| exprs.kt:112:14:112:18 | false | exprs.kt:4:1:136:1 | topLevelMethod | BooleanLiteral | | exprs.kt:112:14:112:18 | false | exprs.kt:4:1:136:1 | topLevelMethod | BooleanLiteral |
| exprs.kt:113:5:113:21 | b3 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr | | exprs.kt:113:5:113:21 | b3 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr |
| exprs.kt:113:14:113:15 | b1 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess | | exprs.kt:113:14:113:15 | b1 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess |
| exprs.kt:113:14:113:21 | when ... | exprs.kt:4:1:136:1 | topLevelMethod | WhenExpr | | exprs.kt:113:14:113:21 | ... && ... | exprs.kt:4:1:136:1 | topLevelMethod | AndLogicalExpr |
| exprs.kt:113:20:113:21 | b2 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess | | exprs.kt:113:20:113:21 | b2 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess |
| exprs.kt:113:20:113:21 | false | exprs.kt:4:1:136:1 | topLevelMethod | BooleanLiteral |
| exprs.kt:113:20:113:21 | true | exprs.kt:4:1:136:1 | topLevelMethod | BooleanLiteral |
| exprs.kt:114:5:114:21 | b4 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr | | exprs.kt:114:5:114:21 | b4 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr |
| exprs.kt:114:14:114:15 | b1 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess | | exprs.kt:114:14:114:15 | b1 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess |
| exprs.kt:114:14:114:15 | true | exprs.kt:4:1:136:1 | topLevelMethod | BooleanLiteral | | exprs.kt:114:14:114:21 | ... \|\| ... | exprs.kt:4:1:136:1 | topLevelMethod | OrLogicalExpr |
| exprs.kt:114:14:114:21 | when ... | exprs.kt:4:1:136:1 | topLevelMethod | WhenExpr |
| exprs.kt:114:20:114:21 | b2 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess | | exprs.kt:114:20:114:21 | b2 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess |
| exprs.kt:114:20:114:21 | true | exprs.kt:4:1:136:1 | topLevelMethod | BooleanLiteral |
| exprs.kt:115:5:115:16 | b5 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr | | exprs.kt:115:5:115:16 | b5 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr |
| exprs.kt:115:14:115:16 | not(...) | exprs.kt:4:1:136:1 | topLevelMethod | MethodAccess | | exprs.kt:115:14:115:16 | not(...) | exprs.kt:4:1:136:1 | topLevelMethod | MethodAccess |
| exprs.kt:115:15:115:16 | b1 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess | | exprs.kt:115:15:115:16 | b1 | exprs.kt:4:1:136:1 | topLevelMethod | VarAccess |