mirror of
https://github.com/github/codeql.git
synced 2026-04-30 19:26:02 +02:00
Merge pull request #11106 from tamasvajk/kotlin-binop-ext
Kotlin: Extract extension binary operators
This commit is contained in:
@@ -2235,6 +2235,9 @@ open class KotlinFileExtractor(
|
||||
result
|
||||
}
|
||||
|
||||
private fun isFunction(target: IrFunction, pkgName: String, classNameLogged: String, classNamePredicate: (String) -> Boolean, vararg fNames: String, isNullable: Boolean? = false) =
|
||||
fNames.any { isFunction(target, pkgName, classNameLogged, classNamePredicate, it, isNullable) }
|
||||
|
||||
private fun isFunction(target: IrFunction, pkgName: String, classNameLogged: String, classNamePredicate: (String) -> Boolean, fName: String, isNullable: Boolean? = false): Boolean {
|
||||
val verbose = false
|
||||
fun verboseln(s: String) { if(verbose) println(s) }
|
||||
@@ -2291,7 +2294,7 @@ open class KotlinFileExtractor(
|
||||
isFunction(target, "kotlin", "Double", fName)
|
||||
}
|
||||
|
||||
private fun isNumericFunction(target: IrFunction, fNames: List<String>) = fNames.any { isNumericFunction(target, it) }
|
||||
private fun isNumericFunction(target: IrFunction, vararg fNames: String) = fNames.any { isNumericFunction(target, it) }
|
||||
|
||||
private fun isArrayType(typeName: String) =
|
||||
when(typeName) {
|
||||
@@ -2428,10 +2431,18 @@ open class KotlinFileExtractor(
|
||||
binopReceiver(id, c.dispatchReceiver, "Dispatch receiver")
|
||||
}
|
||||
|
||||
fun binopExt(id: Label<out DbExpr>) {
|
||||
binopReceiver(id, c.extensionReceiver, "Extension receiver")
|
||||
}
|
||||
|
||||
fun unaryopDisp(id: Label<out DbExpr>) {
|
||||
unaryopReceiver(id, c.dispatchReceiver, "Dispatch receiver")
|
||||
}
|
||||
|
||||
fun unaryopExt(id: Label<out DbExpr>) {
|
||||
unaryopReceiver(id, c.extensionReceiver, "Extension receiver")
|
||||
}
|
||||
|
||||
val dr = c.dispatchReceiver
|
||||
when {
|
||||
isFunction(target, "kotlin", "String", "plus", false) -> {
|
||||
@@ -2446,7 +2457,7 @@ open class KotlinFileExtractor(
|
||||
extractRawMethodAccess(stringPlusFn, c, c.type, callable, parent, idx, enclosingStmt, listOf(c.extensionReceiver, c.getValueArgument(0)), null, null)
|
||||
}
|
||||
}
|
||||
isNumericFunction(target, listOf("plus", "minus", "times", "div", "rem", "and", "or", "xor", "shl", "shr", "ushr")) -> {
|
||||
isNumericFunction(target, "plus", "minus", "times", "div", "rem", "and", "or", "xor", "shl", "shr", "ushr") -> {
|
||||
val type = useType(c.type)
|
||||
val id: Label<out DbExpr> = when (val targetName = target.name.asString()) {
|
||||
"plus" -> {
|
||||
@@ -2510,7 +2521,10 @@ open class KotlinFileExtractor(
|
||||
}
|
||||
}
|
||||
tw.writeExprsKotlinType(id, type.kotlinResult.id)
|
||||
binopDisp(id)
|
||||
if (isFunction(target, "kotlin", "Byte or Short", { it == "Byte" || it == "Short" }, "and", "or", "xor"))
|
||||
binopExt(id)
|
||||
else
|
||||
binopDisp(id)
|
||||
}
|
||||
// != gets desugared into not and ==. Here we resugar it.
|
||||
c.origin == IrStatementOrigin.EXCLEQ && isFunction(target, "kotlin", "Boolean", "not") && c.valueArgumentsCount == 0 && dr != null && dr is IrCall && isBuiltinCallInternal(dr, "EQEQ") -> {
|
||||
@@ -2541,7 +2555,7 @@ open class KotlinFileExtractor(
|
||||
tw.writeExprsKotlinType(id, type.kotlinResult.id)
|
||||
unaryopDisp(id)
|
||||
}
|
||||
isNumericFunction(target, listOf("inv", "unaryMinus", "unaryPlus")) -> {
|
||||
isNumericFunction(target, "inv", "unaryMinus", "unaryPlus") -> {
|
||||
val type = useType(c.type)
|
||||
val id: Label<out DbExpr> = when (val targetName = target.name.asString()) {
|
||||
"inv" -> {
|
||||
@@ -2566,7 +2580,7 @@ open class KotlinFileExtractor(
|
||||
}
|
||||
tw.writeExprsKotlinType(id, type.kotlinResult.id)
|
||||
if (isFunction(target, "kotlin", "Byte or Short", { it == "Byte" || it == "Short" }, "inv"))
|
||||
unaryopReceiver(id, c.extensionReceiver, "Extension receiver")
|
||||
unaryopExt(id)
|
||||
else
|
||||
unaryopDisp(id)
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
| exprs.kt:272:52:272:66 | <error expr> | ErrorExpr | unexpected dead end |
|
||||
| exprs.kt:272:52:272:66 | { ... } | BlockStmt | unexpected dead end |
|
||||
| exprs.kt:278:52:278:66 | <error expr> | ErrorExpr | unexpected dead end |
|
||||
| exprs.kt:278:52:278:66 | { ... } | BlockStmt | unexpected dead end |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,95 +28,101 @@
|
||||
| exprs.kt:44:16:44:25 | ... >= ... | exprs.kt:44:16:44:18 | intValue(...) | exprs.kt:44:23:44:25 | intValue(...) |
|
||||
| exprs.kt:45:16:45:26 | ... == ... | exprs.kt:45:16:45:18 | byx | exprs.kt:45:24:45:26 | byy |
|
||||
| exprs.kt:46:16:46:26 | ... != ... | exprs.kt:46:16:46:18 | byx | exprs.kt:46:24:46:26 | byy |
|
||||
| exprs.kt:49:14:49:20 | ... + ... | exprs.kt:49:14:49:15 | sx | exprs.kt:49:19:49:20 | sy |
|
||||
| exprs.kt:50:14:50:20 | ... - ... | exprs.kt:50:14:50:15 | sx | exprs.kt:50:19:50:20 | sy |
|
||||
| exprs.kt:51:14:51:20 | ... / ... | exprs.kt:51:14:51:15 | sx | exprs.kt:51:19:51:20 | sy |
|
||||
| exprs.kt:52:14:52:20 | ... % ... | exprs.kt:52:14:52:15 | sx | exprs.kt:52:19:52:20 | sy |
|
||||
| exprs.kt:53:14:53:21 | ... (value equals) ... | exprs.kt:53:14:53:15 | intValue(...) | exprs.kt:53:20:53:21 | intValue(...) |
|
||||
| exprs.kt:54:14:54:21 | ... (value not-equals) ... | exprs.kt:54:14:54:15 | intValue(...) | exprs.kt:54:20:54:21 | intValue(...) |
|
||||
| exprs.kt:55:14:55:20 | ... < ... | exprs.kt:55:14:55:15 | intValue(...) | exprs.kt:55:19:55:20 | intValue(...) |
|
||||
| exprs.kt:56:14:56:21 | ... <= ... | exprs.kt:56:14:56:15 | intValue(...) | exprs.kt:56:20:56:21 | intValue(...) |
|
||||
| exprs.kt:57:15:57:21 | ... > ... | exprs.kt:57:15:57:16 | intValue(...) | exprs.kt:57:20:57:21 | intValue(...) |
|
||||
| exprs.kt:58:15:58:22 | ... >= ... | exprs.kt:58:15:58:16 | intValue(...) | exprs.kt:58:21:58:22 | intValue(...) |
|
||||
| exprs.kt:59:15:59:23 | ... == ... | exprs.kt:59:15:59:16 | sx | exprs.kt:59:22:59:23 | sy |
|
||||
| exprs.kt:60:15:60:23 | ... != ... | exprs.kt:60:15:60:16 | sx | exprs.kt:60:22:60:23 | sy |
|
||||
| exprs.kt:63:14:63:20 | ... + ... | exprs.kt:63:14:63:15 | lx | exprs.kt:63:19:63:20 | ly |
|
||||
| exprs.kt:64:14:64:20 | ... - ... | exprs.kt:64:14:64:15 | lx | exprs.kt:64:19:64:20 | ly |
|
||||
| exprs.kt:65:14:65:20 | ... / ... | exprs.kt:65:14:65:15 | lx | exprs.kt:65:19:65:20 | ly |
|
||||
| exprs.kt:66:14:66:20 | ... % ... | exprs.kt:66:14:66:15 | lx | exprs.kt:66:19:66:20 | ly |
|
||||
| exprs.kt:67:14:67:21 | ... << ... | exprs.kt:67:14:67:15 | lx | exprs.kt:67:21:67:21 | y |
|
||||
| exprs.kt:68:14:68:21 | ... >> ... | exprs.kt:68:14:68:15 | lx | exprs.kt:68:21:68:21 | y |
|
||||
| exprs.kt:69:14:69:22 | ... >>> ... | exprs.kt:69:14:69:15 | lx | exprs.kt:69:22:69:22 | y |
|
||||
| exprs.kt:70:14:70:22 | ... & ... | exprs.kt:70:14:70:15 | lx | exprs.kt:70:21:70:22 | ly |
|
||||
| exprs.kt:71:15:71:22 | ... \| ... | exprs.kt:71:15:71:16 | lx | exprs.kt:71:21:71:22 | ly |
|
||||
| exprs.kt:72:15:72:23 | ... ^ ... | exprs.kt:72:15:72:16 | lx | exprs.kt:72:22:72:23 | ly |
|
||||
| exprs.kt:74:15:74:22 | ... (value equals) ... | exprs.kt:74:15:74:16 | lx | exprs.kt:74:21:74:22 | ly |
|
||||
| exprs.kt:75:15:75:22 | ... (value not-equals) ... | exprs.kt:75:15:75:16 | lx | exprs.kt:75:21:75:22 | ly |
|
||||
| exprs.kt:76:15:76:21 | ... < ... | exprs.kt:76:15:76:16 | lx | exprs.kt:76:20:76:21 | ly |
|
||||
| exprs.kt:77:15:77:22 | ... <= ... | exprs.kt:77:15:77:16 | lx | exprs.kt:77:21:77:22 | ly |
|
||||
| exprs.kt:78:15:78:21 | ... > ... | exprs.kt:78:15:78:16 | lx | exprs.kt:78:20:78:21 | ly |
|
||||
| exprs.kt:79:15:79:22 | ... >= ... | exprs.kt:79:15:79:16 | lx | exprs.kt:79:21:79:22 | ly |
|
||||
| exprs.kt:80:15:80:23 | ... == ... | exprs.kt:80:15:80:16 | lx | exprs.kt:80:22:80:23 | ly |
|
||||
| exprs.kt:81:15:81:23 | ... != ... | exprs.kt:81:15:81:16 | lx | exprs.kt:81:22:81:23 | ly |
|
||||
| exprs.kt:84:14:84:20 | ... + ... | exprs.kt:84:14:84:15 | dx | exprs.kt:84:19:84:20 | dy |
|
||||
| exprs.kt:85:14:85:20 | ... - ... | exprs.kt:85:14:85:15 | dx | exprs.kt:85:19:85:20 | dy |
|
||||
| exprs.kt:86:14:86:20 | ... / ... | exprs.kt:86:14:86:15 | dx | exprs.kt:86:19:86:20 | dy |
|
||||
| exprs.kt:87:14:87:20 | ... % ... | exprs.kt:87:14:87:15 | dx | exprs.kt:87:19:87:20 | dy |
|
||||
| exprs.kt:88:14:88:21 | ... == ... | exprs.kt:88:14:88:15 | dx | exprs.kt:88:20:88:21 | dy |
|
||||
| exprs.kt:89:14:89:21 | ... != ... | exprs.kt:89:14:89:15 | dx | exprs.kt:89:20:89:21 | dy |
|
||||
| exprs.kt:90:14:90:20 | ... < ... | exprs.kt:90:14:90:15 | dx | exprs.kt:90:19:90:20 | dy |
|
||||
| exprs.kt:91:14:91:21 | ... <= ... | exprs.kt:91:14:91:15 | dx | exprs.kt:91:20:91:21 | dy |
|
||||
| exprs.kt:92:15:92:21 | ... > ... | exprs.kt:92:15:92:16 | dx | exprs.kt:92:20:92:21 | dy |
|
||||
| exprs.kt:93:15:93:22 | ... >= ... | exprs.kt:93:15:93:16 | dx | exprs.kt:93:21:93:22 | dy |
|
||||
| exprs.kt:94:15:94:23 | ... == ... | exprs.kt:94:15:94:16 | dx | exprs.kt:94:22:94:23 | dy |
|
||||
| exprs.kt:95:15:95:23 | ... != ... | exprs.kt:95:15:95:16 | dx | exprs.kt:95:22:95:23 | dy |
|
||||
| exprs.kt:98:14:98:20 | ... + ... | exprs.kt:98:14:98:15 | fx | exprs.kt:98:19:98:20 | fy |
|
||||
| exprs.kt:99:14:99:20 | ... - ... | exprs.kt:99:14:99:15 | fx | exprs.kt:99:19:99:20 | fy |
|
||||
| exprs.kt:100:14:100:20 | ... / ... | exprs.kt:100:14:100:15 | fx | exprs.kt:100:19:100:20 | fy |
|
||||
| exprs.kt:101:14:101:20 | ... % ... | exprs.kt:101:14:101:15 | fx | exprs.kt:101:19:101:20 | fy |
|
||||
| exprs.kt:102:14:102:21 | ... == ... | exprs.kt:102:14:102:15 | fx | exprs.kt:102:20:102:21 | fy |
|
||||
| exprs.kt:103:14:103:21 | ... != ... | exprs.kt:103:14:103:15 | fx | exprs.kt:103:20:103:21 | fy |
|
||||
| exprs.kt:104:14:104:20 | ... < ... | exprs.kt:104:14:104:15 | fx | exprs.kt:104:19:104:20 | fy |
|
||||
| exprs.kt:105:14:105:21 | ... <= ... | exprs.kt:105:14:105:15 | fx | exprs.kt:105:20:105:21 | fy |
|
||||
| exprs.kt:106:15:106:21 | ... > ... | exprs.kt:106:15:106:16 | fx | exprs.kt:106:20:106:21 | 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: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:128:16:128:26 | ... + ... | exprs.kt:128:16:128:19 | str1 | exprs.kt:128:23:128:26 | str2 |
|
||||
| exprs.kt:131:12:131:23 | ... > ... | exprs.kt:131:12:131:19 | variable | exprs.kt:131:23:131:23 | 0 |
|
||||
| exprs.kt:135:12:135:20 | ... + ... | exprs.kt:135:12:135:14 | 123 | exprs.kt:135:18:135:20 | 456 |
|
||||
| exprs.kt:161:8:161:16 | ... (value not-equals) ... | 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 | getA1(...) | exprs.kt:190:36:190:37 | a2 |
|
||||
| exprs.kt:205:20:205:29 | ... + ... | exprs.kt:205:20:205:21 | ...!! | exprs.kt:205:28:205:28 | 5 |
|
||||
| exprs.kt:206:19:206:25 | ... + ... | exprs.kt:206:20:206:21 | ...!! | exprs.kt:206:25:206:25 | 5 |
|
||||
| exprs.kt:224:12:224:47 | ... (value equals) ... | exprs.kt:224:12:224:27 | notNullPrimitive | exprs.kt:224:32:224:47 | notNullPrimitive |
|
||||
| exprs.kt:225:12:225:48 | ... (value equals) ... | exprs.kt:225:12:225:27 | notNullPrimitive | exprs.kt:225:32:225:48 | nullablePrimitive |
|
||||
| exprs.kt:226:12:226:49 | ... (value equals) ... | exprs.kt:226:12:226:28 | nullablePrimitive | exprs.kt:226:33:226:49 | nullablePrimitive |
|
||||
| exprs.kt:227:12:227:43 | ... (value equals) ... | exprs.kt:227:12:227:25 | notNullReftype | exprs.kt:227:30:227:43 | notNullReftype |
|
||||
| exprs.kt:228:12:228:44 | ... (value equals) ... | exprs.kt:228:12:228:25 | notNullReftype | exprs.kt:228:30:228:44 | nullableReftype |
|
||||
| exprs.kt:229:12:229:45 | ... (value equals) ... | exprs.kt:229:12:229:26 | nullableReftype | exprs.kt:229:31:229:45 | nullableReftype |
|
||||
| exprs.kt:230:12:230:47 | ... (value not-equals) ... | exprs.kt:230:12:230:27 | notNullPrimitive | exprs.kt:230:32:230:47 | notNullPrimitive |
|
||||
| exprs.kt:231:12:231:48 | ... (value not-equals) ... | exprs.kt:231:12:231:27 | notNullPrimitive | exprs.kt:231:32:231:48 | nullablePrimitive |
|
||||
| exprs.kt:232:12:232:49 | ... (value not-equals) ... | exprs.kt:232:12:232:28 | nullablePrimitive | exprs.kt:232:33:232:49 | nullablePrimitive |
|
||||
| exprs.kt:233:13:233:44 | ... (value not-equals) ... | exprs.kt:233:13:233:26 | notNullReftype | exprs.kt:233:31:233:44 | notNullReftype |
|
||||
| exprs.kt:234:13:234:45 | ... (value not-equals) ... | exprs.kt:234:13:234:26 | notNullReftype | exprs.kt:234:31:234:45 | nullableReftype |
|
||||
| exprs.kt:235:13:235:46 | ... (value not-equals) ... | exprs.kt:235:13:235:27 | nullableReftype | exprs.kt:235:32:235:46 | nullableReftype |
|
||||
| exprs.kt:236:13:236:36 | ... (value equals) ... | exprs.kt:236:13:236:28 | notNullPrimitive | exprs.kt:236:33:236:36 | null |
|
||||
| exprs.kt:237:13:237:37 | ... (value equals) ... | exprs.kt:237:13:237:29 | nullablePrimitive | exprs.kt:237:34:237:37 | null |
|
||||
| exprs.kt:238:13:238:34 | ... (value equals) ... | exprs.kt:238:13:238:26 | notNullReftype | exprs.kt:238:31:238:34 | null |
|
||||
| exprs.kt:239:13:239:35 | ... (value equals) ... | exprs.kt:239:13:239:27 | nullableReftype | exprs.kt:239:32:239:35 | null |
|
||||
| exprs.kt:240:13:240:36 | ... (value not-equals) ... | exprs.kt:240:13:240:28 | notNullPrimitive | exprs.kt:240:33:240:36 | null |
|
||||
| exprs.kt:241:13:241:37 | ... (value not-equals) ... | exprs.kt:241:13:241:29 | nullablePrimitive | exprs.kt:241:34:241:37 | null |
|
||||
| exprs.kt:242:13:242:34 | ... (value not-equals) ... | exprs.kt:242:13:242:26 | notNullReftype | exprs.kt:242:31:242:34 | null |
|
||||
| exprs.kt:243:13:243:35 | ... (value not-equals) ... | exprs.kt:243:13:243:27 | nullableReftype | exprs.kt:243:32:243:35 | null |
|
||||
| exprs.kt:253:11:253:15 | ... * ... | exprs.kt:253:11:253:11 | x | exprs.kt:253:15:253:15 | y |
|
||||
| exprs.kt:254:11:254:19 | ... * ... | exprs.kt:254:11:254:13 | byx | exprs.kt:254:17:254:19 | byy |
|
||||
| exprs.kt:255:11:255:17 | ... * ... | exprs.kt:255:11:255:12 | lx | exprs.kt:255:16:255:17 | ly |
|
||||
| exprs.kt:256:11:256:17 | ... * ... | exprs.kt:256:11:256:12 | dx | exprs.kt:256:16:256:17 | dy |
|
||||
| exprs.kt:257:11:257:17 | ... * ... | exprs.kt:257:11:257:12 | fx | exprs.kt:257:16:257:17 | fy |
|
||||
| exprs.kt:47:16:47:25 | ... \| ... | exprs.kt:47:16:47:18 | byx | exprs.kt:47:23:47:25 | byy |
|
||||
| exprs.kt:48:16:48:26 | ... & ... | exprs.kt:48:16:48:18 | byx | exprs.kt:48:24:48:26 | byy |
|
||||
| exprs.kt:49:16:49:26 | ... ^ ... | exprs.kt:49:16:49:18 | byx | exprs.kt:49:24:49:26 | byy |
|
||||
| exprs.kt:52:14:52:20 | ... + ... | exprs.kt:52:14:52:15 | sx | exprs.kt:52:19:52:20 | sy |
|
||||
| exprs.kt:53:14:53:20 | ... - ... | exprs.kt:53:14:53:15 | sx | exprs.kt:53:19:53:20 | sy |
|
||||
| exprs.kt:54:14:54:20 | ... / ... | exprs.kt:54:14:54:15 | sx | exprs.kt:54:19:54:20 | sy |
|
||||
| exprs.kt:55:14:55:20 | ... % ... | exprs.kt:55:14:55:15 | sx | exprs.kt:55:19:55:20 | sy |
|
||||
| exprs.kt:56:14:56:21 | ... (value equals) ... | exprs.kt:56:14:56:15 | intValue(...) | exprs.kt:56:20:56:21 | intValue(...) |
|
||||
| exprs.kt:57:14:57:21 | ... (value not-equals) ... | exprs.kt:57:14:57:15 | intValue(...) | exprs.kt:57:20:57:21 | intValue(...) |
|
||||
| exprs.kt:58:14:58:20 | ... < ... | exprs.kt:58:14:58:15 | intValue(...) | exprs.kt:58:19:58:20 | intValue(...) |
|
||||
| exprs.kt:59:14:59:21 | ... <= ... | exprs.kt:59:14:59:15 | intValue(...) | exprs.kt:59:20:59:21 | intValue(...) |
|
||||
| exprs.kt:60:15:60:21 | ... > ... | exprs.kt:60:15:60:16 | intValue(...) | exprs.kt:60:20:60:21 | intValue(...) |
|
||||
| exprs.kt:61:15:61:22 | ... >= ... | exprs.kt:61:15:61:16 | intValue(...) | exprs.kt:61:21:61:22 | intValue(...) |
|
||||
| exprs.kt:62:15:62:23 | ... == ... | exprs.kt:62:15:62:16 | sx | exprs.kt:62:22:62:23 | sy |
|
||||
| exprs.kt:63:15:63:23 | ... != ... | exprs.kt:63:15:63:16 | sx | exprs.kt:63:22:63:23 | sy |
|
||||
| exprs.kt:64:15:64:22 | ... \| ... | exprs.kt:64:15:64:16 | sx | exprs.kt:64:21:64:22 | sy |
|
||||
| exprs.kt:65:15:65:23 | ... & ... | exprs.kt:65:15:65:16 | sx | exprs.kt:65:22:65:23 | sy |
|
||||
| exprs.kt:66:15:66:23 | ... ^ ... | exprs.kt:66:15:66:16 | sx | exprs.kt:66:22:66:23 | sy |
|
||||
| exprs.kt:69:14:69:20 | ... + ... | exprs.kt:69:14:69:15 | lx | exprs.kt:69:19:69:20 | ly |
|
||||
| exprs.kt:70:14:70:20 | ... - ... | exprs.kt:70:14:70:15 | lx | exprs.kt:70:19:70:20 | ly |
|
||||
| exprs.kt:71:14:71:20 | ... / ... | exprs.kt:71:14:71:15 | lx | exprs.kt:71:19:71:20 | ly |
|
||||
| exprs.kt:72:14:72:20 | ... % ... | exprs.kt:72:14:72:15 | lx | exprs.kt:72:19:72:20 | ly |
|
||||
| exprs.kt:73:14:73:21 | ... << ... | exprs.kt:73:14:73:15 | lx | exprs.kt:73:21:73:21 | y |
|
||||
| exprs.kt:74:14:74:21 | ... >> ... | exprs.kt:74:14:74:15 | lx | exprs.kt:74:21:74:21 | y |
|
||||
| exprs.kt:75:14:75:22 | ... >>> ... | exprs.kt:75:14:75:15 | lx | exprs.kt:75:22:75:22 | y |
|
||||
| exprs.kt:76:14:76:22 | ... & ... | exprs.kt:76:14:76:15 | lx | exprs.kt:76:21:76:22 | ly |
|
||||
| exprs.kt:77:15:77:22 | ... \| ... | exprs.kt:77:15:77:16 | lx | exprs.kt:77:21:77:22 | ly |
|
||||
| exprs.kt:78:15:78:23 | ... ^ ... | exprs.kt:78:15:78:16 | lx | exprs.kt:78:22:78:23 | ly |
|
||||
| exprs.kt:80:15:80:22 | ... (value equals) ... | exprs.kt:80:15:80:16 | lx | exprs.kt:80:21:80:22 | ly |
|
||||
| exprs.kt:81:15:81:22 | ... (value not-equals) ... | exprs.kt:81:15:81:16 | lx | exprs.kt:81:21:81:22 | ly |
|
||||
| exprs.kt:82:15:82:21 | ... < ... | exprs.kt:82:15:82:16 | lx | exprs.kt:82:20:82:21 | ly |
|
||||
| exprs.kt:83:15:83:22 | ... <= ... | exprs.kt:83:15:83:16 | lx | exprs.kt:83:21:83:22 | ly |
|
||||
| exprs.kt:84:15:84:21 | ... > ... | exprs.kt:84:15:84:16 | lx | exprs.kt:84:20:84:21 | ly |
|
||||
| exprs.kt:85:15:85:22 | ... >= ... | exprs.kt:85:15:85:16 | lx | exprs.kt:85:21:85:22 | ly |
|
||||
| exprs.kt:86:15:86:23 | ... == ... | exprs.kt:86:15:86:16 | lx | exprs.kt:86:22:86:23 | ly |
|
||||
| exprs.kt:87:15:87:23 | ... != ... | exprs.kt:87:15:87:16 | lx | exprs.kt:87:22:87:23 | ly |
|
||||
| exprs.kt:90:14:90:20 | ... + ... | exprs.kt:90:14:90:15 | dx | exprs.kt:90:19:90:20 | dy |
|
||||
| exprs.kt:91:14:91:20 | ... - ... | exprs.kt:91:14:91:15 | dx | exprs.kt:91:19:91:20 | dy |
|
||||
| exprs.kt:92:14:92:20 | ... / ... | exprs.kt:92:14:92:15 | dx | exprs.kt:92:19:92:20 | dy |
|
||||
| exprs.kt:93:14:93:20 | ... % ... | exprs.kt:93:14:93:15 | dx | exprs.kt:93:19:93:20 | dy |
|
||||
| exprs.kt:94:14:94:21 | ... == ... | exprs.kt:94:14:94:15 | dx | exprs.kt:94:20:94:21 | dy |
|
||||
| exprs.kt:95:14:95:21 | ... != ... | exprs.kt:95:14:95:15 | dx | exprs.kt:95:20:95:21 | dy |
|
||||
| exprs.kt:96:14:96:20 | ... < ... | exprs.kt:96:14:96:15 | dx | exprs.kt:96:19:96:20 | dy |
|
||||
| exprs.kt:97:14:97:21 | ... <= ... | exprs.kt:97:14:97:15 | dx | exprs.kt:97:20:97:21 | dy |
|
||||
| exprs.kt:98:15:98:21 | ... > ... | exprs.kt:98:15:98:16 | dx | exprs.kt:98:20:98:21 | dy |
|
||||
| exprs.kt:99:15:99:22 | ... >= ... | exprs.kt:99:15:99:16 | dx | exprs.kt:99:21:99:22 | dy |
|
||||
| exprs.kt:100:15:100:23 | ... == ... | exprs.kt:100:15:100:16 | dx | exprs.kt:100:22:100:23 | dy |
|
||||
| exprs.kt:101:15:101:23 | ... != ... | exprs.kt:101:15:101:16 | dx | exprs.kt:101:22:101:23 | dy |
|
||||
| exprs.kt:104:14:104:20 | ... + ... | exprs.kt:104:14:104:15 | fx | exprs.kt:104:19:104:20 | fy |
|
||||
| exprs.kt:105:14:105:20 | ... - ... | exprs.kt:105:14:105:15 | fx | exprs.kt:105:19:105:20 | fy |
|
||||
| exprs.kt:106:14:106:20 | ... / ... | exprs.kt:106:14:106:15 | fx | exprs.kt:106:19:106:20 | fy |
|
||||
| exprs.kt:107:14:107:20 | ... % ... | exprs.kt:107:14:107:15 | fx | exprs.kt:107:19:107:20 | fy |
|
||||
| exprs.kt:108:14:108:21 | ... == ... | exprs.kt:108:14:108:15 | fx | exprs.kt:108:20:108:21 | fy |
|
||||
| exprs.kt:109:14:109:21 | ... != ... | exprs.kt:109:14:109:15 | fx | exprs.kt:109:20:109:21 | fy |
|
||||
| exprs.kt:110:14:110:20 | ... < ... | exprs.kt:110:14:110:15 | fx | exprs.kt:110:19:110:20 | fy |
|
||||
| exprs.kt:111:14:111:21 | ... <= ... | exprs.kt:111:14:111:15 | fx | exprs.kt:111:20:111:21 | fy |
|
||||
| exprs.kt:112:15:112:21 | ... > ... | exprs.kt:112:15:112:16 | fx | exprs.kt:112:20:112:21 | fy |
|
||||
| exprs.kt:113:15:113:22 | ... >= ... | exprs.kt:113:15:113:16 | fx | exprs.kt:113:21:113:22 | fy |
|
||||
| exprs.kt:114:15:114:23 | ... == ... | exprs.kt:114:15:114:16 | fx | exprs.kt:114:22:114:23 | fy |
|
||||
| exprs.kt:115:15:115:23 | ... != ... | exprs.kt:115:15:115:16 | fx | exprs.kt:115:22:115:23 | fy |
|
||||
| exprs.kt:119:14:119:21 | ... && ... | exprs.kt:119:14:119:15 | b1 | exprs.kt:119:20:119:21 | b2 |
|
||||
| exprs.kt:120:14:120:21 | ... \|\| ... | exprs.kt:120:14:120:15 | b1 | exprs.kt:120:20:120:21 | b2 |
|
||||
| exprs.kt:133:31:133:41 | ... + ... | exprs.kt:133:31:133:34 | str1 | exprs.kt:133:38:133:41 | str2 |
|
||||
| exprs.kt:134:16:134:26 | ... + ... | exprs.kt:134:16:134:19 | str1 | exprs.kt:134:23:134:26 | str2 |
|
||||
| exprs.kt:137:12:137:23 | ... > ... | exprs.kt:137:12:137:19 | variable | exprs.kt:137:23:137:23 | 0 |
|
||||
| exprs.kt:141:12:141:20 | ... + ... | exprs.kt:141:12:141:14 | 123 | exprs.kt:141:18:141:20 | 456 |
|
||||
| exprs.kt:167:8:167:16 | ... (value not-equals) ... | exprs.kt:167:8:167:8 | r | exprs.kt:167:13:167:16 | null |
|
||||
| exprs.kt:196:31:196:37 | ... + ... | exprs.kt:196:31:196:32 | getA1(...) | exprs.kt:196:36:196:37 | a2 |
|
||||
| exprs.kt:211:20:211:29 | ... + ... | exprs.kt:211:20:211:21 | ...!! | exprs.kt:211:28:211:28 | 5 |
|
||||
| exprs.kt:212:19:212:25 | ... + ... | exprs.kt:212:20:212:21 | ...!! | exprs.kt:212:25:212:25 | 5 |
|
||||
| exprs.kt:230:12:230:47 | ... (value equals) ... | exprs.kt:230:12:230:27 | notNullPrimitive | exprs.kt:230:32:230:47 | notNullPrimitive |
|
||||
| exprs.kt:231:12:231:48 | ... (value equals) ... | exprs.kt:231:12:231:27 | notNullPrimitive | exprs.kt:231:32:231:48 | nullablePrimitive |
|
||||
| exprs.kt:232:12:232:49 | ... (value equals) ... | exprs.kt:232:12:232:28 | nullablePrimitive | exprs.kt:232:33:232:49 | nullablePrimitive |
|
||||
| exprs.kt:233:12:233:43 | ... (value equals) ... | exprs.kt:233:12:233:25 | notNullReftype | exprs.kt:233:30:233:43 | notNullReftype |
|
||||
| exprs.kt:234:12:234:44 | ... (value equals) ... | exprs.kt:234:12:234:25 | notNullReftype | exprs.kt:234:30:234:44 | nullableReftype |
|
||||
| exprs.kt:235:12:235:45 | ... (value equals) ... | exprs.kt:235:12:235:26 | nullableReftype | exprs.kt:235:31:235:45 | nullableReftype |
|
||||
| exprs.kt:236:12:236:47 | ... (value not-equals) ... | exprs.kt:236:12:236:27 | notNullPrimitive | exprs.kt:236:32:236:47 | notNullPrimitive |
|
||||
| exprs.kt:237:12:237:48 | ... (value not-equals) ... | exprs.kt:237:12:237:27 | notNullPrimitive | exprs.kt:237:32:237:48 | nullablePrimitive |
|
||||
| exprs.kt:238:12:238:49 | ... (value not-equals) ... | exprs.kt:238:12:238:28 | nullablePrimitive | exprs.kt:238:33:238:49 | nullablePrimitive |
|
||||
| exprs.kt:239:13:239:44 | ... (value not-equals) ... | exprs.kt:239:13:239:26 | notNullReftype | exprs.kt:239:31:239:44 | notNullReftype |
|
||||
| exprs.kt:240:13:240:45 | ... (value not-equals) ... | exprs.kt:240:13:240:26 | notNullReftype | exprs.kt:240:31:240:45 | nullableReftype |
|
||||
| exprs.kt:241:13:241:46 | ... (value not-equals) ... | exprs.kt:241:13:241:27 | nullableReftype | exprs.kt:241:32:241:46 | nullableReftype |
|
||||
| exprs.kt:242:13:242:36 | ... (value equals) ... | exprs.kt:242:13:242:28 | notNullPrimitive | exprs.kt:242:33:242:36 | null |
|
||||
| exprs.kt:243:13:243:37 | ... (value equals) ... | exprs.kt:243:13:243:29 | nullablePrimitive | exprs.kt:243:34:243:37 | null |
|
||||
| exprs.kt:244:13:244:34 | ... (value equals) ... | exprs.kt:244:13:244:26 | notNullReftype | exprs.kt:244:31:244:34 | null |
|
||||
| exprs.kt:245:13:245:35 | ... (value equals) ... | exprs.kt:245:13:245:27 | nullableReftype | exprs.kt:245:32:245:35 | null |
|
||||
| exprs.kt:246:13:246:36 | ... (value not-equals) ... | exprs.kt:246:13:246:28 | notNullPrimitive | exprs.kt:246:33:246:36 | null |
|
||||
| exprs.kt:247:13:247:37 | ... (value not-equals) ... | exprs.kt:247:13:247:29 | nullablePrimitive | exprs.kt:247:34:247:37 | null |
|
||||
| exprs.kt:248:13:248:34 | ... (value not-equals) ... | exprs.kt:248:13:248:26 | notNullReftype | exprs.kt:248:31:248:34 | null |
|
||||
| exprs.kt:249:13:249:35 | ... (value not-equals) ... | exprs.kt:249:13:249:27 | nullableReftype | exprs.kt:249:32:249:35 | null |
|
||||
| exprs.kt:259:11:259:15 | ... * ... | exprs.kt:259:11:259:11 | x | exprs.kt:259:15:259:15 | y |
|
||||
| exprs.kt:260:11:260:19 | ... * ... | exprs.kt:260:11:260:13 | byx | exprs.kt:260:17:260:19 | byy |
|
||||
| exprs.kt:261:11:261:17 | ... * ... | exprs.kt:261:11:261:12 | lx | exprs.kt:261:16:261:17 | ly |
|
||||
| exprs.kt:262:11:262:17 | ... * ... | exprs.kt:262:11:262:12 | dx | exprs.kt:262:16:262:17 | dy |
|
||||
| exprs.kt:263:11:263:17 | ... * ... | exprs.kt:263:11:263:12 | fx | exprs.kt:263:16:263:17 | fy |
|
||||
| funcExprs.kt:32:35:32:42 | ... + ... | funcExprs.kt:32:35:32:38 | this | funcExprs.kt:32:42:32:42 | a |
|
||||
| localFunctionCalls.kt:5:25:5:29 | ... + ... | localFunctionCalls.kt:5:25:5:25 | i | localFunctionCalls.kt:5:29:5:29 | x |
|
||||
| samConversion.kt:2:33:2:38 | ... % ... | samConversion.kt:2:33:2:34 | it | samConversion.kt:2:38:2:38 | 2 |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
import java.awt.Polygon
|
||||
import java.awt.Rectangle
|
||||
import kotlin.experimental.inv
|
||||
import kotlin.experimental.*
|
||||
fun topLevelMethod(x: Int, y: Int,
|
||||
byx: Byte, byy: Byte,
|
||||
sx: Short, sy: Short,
|
||||
@@ -44,6 +44,9 @@ fun topLevelMethod(x: Int, y: Int,
|
||||
val by11 = byx >= byy
|
||||
val by12 = byx === byy
|
||||
val by13 = byx !== byy
|
||||
val by14 = byx or byy
|
||||
val by15 = byx and byy
|
||||
val by16 = byx xor byy
|
||||
|
||||
val s1 = 1.0
|
||||
val s2 = sx + sy
|
||||
@@ -58,6 +61,9 @@ fun topLevelMethod(x: Int, y: Int,
|
||||
val s11 = sx >= sy
|
||||
val s12 = sx === sy
|
||||
val s13 = sx !== sy
|
||||
val s14 = sx or sy
|
||||
val s15 = sx and sy
|
||||
val s16 = sx xor sy
|
||||
|
||||
val l1 = 1.0
|
||||
val l2 = lx + ly
|
||||
|
||||
@@ -187,7 +187,7 @@ anon_class_member_modifiers
|
||||
| delegatedProperties.kt:87:34:87:46 | new KMutableProperty0<Integer>(...) { ... } | delegatedProperties.kt:87:34:87:46 | get | override, public |
|
||||
| delegatedProperties.kt:87:34:87:46 | new KMutableProperty0<Integer>(...) { ... } | delegatedProperties.kt:87:34:87:46 | invoke | override, public |
|
||||
| delegatedProperties.kt:87:34:87:46 | new KMutableProperty0<Integer>(...) { ... } | delegatedProperties.kt:87:34:87:46 | set | override, public |
|
||||
| exprs.kt:189:16:191:9 | new Interface1(...) { ... } | exprs.kt:190:13:190:49 | getA3 | public |
|
||||
| exprs.kt:195:16:197:9 | new Interface1(...) { ... } | exprs.kt:196:13:196:49 | getA3 | public |
|
||||
| funcExprs.kt:22:26:22:33 | new Function0<Integer>(...) { ... } | funcExprs.kt:22:26:22:33 | invoke | override, public |
|
||||
| funcExprs.kt:23:26:23:33 | new Function0<Object>(...) { ... } | funcExprs.kt:23:26:23:33 | invoke | override, public |
|
||||
| funcExprs.kt:24:26:24:33 | new Function0<Object>(...) { ... } | funcExprs.kt:24:26:24:33 | invoke | override, public |
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
| exprs.kt:22:15:22:21 | ~... | exprs.kt:22:15:22:15 | x |
|
||||
| exprs.kt:32:15:32:26 | !... | exprs.kt:32:15:32:26 | contains(...) |
|
||||
| exprs.kt:73:15:73:22 | ~... | exprs.kt:73:15:73:16 | lx |
|
||||
| exprs.kt:115:14:115:16 | !... | exprs.kt:115:15:115:16 | b1 |
|
||||
| exprs.kt:196:19:196:20 | ...!! | exprs.kt:196:18:196:18 | x |
|
||||
| exprs.kt:205:20:205:21 | ...!! | exprs.kt:205:19:205:19 | s |
|
||||
| exprs.kt:206:20:206:21 | ...!! | exprs.kt:206:19:206:19 | s |
|
||||
| exprs.kt:280:5:280:6 | -... | exprs.kt:280:6:280:6 | i |
|
||||
| exprs.kt:281:5:281:6 | +... | exprs.kt:281:6:281:6 | i |
|
||||
| exprs.kt:282:5:282:6 | -... | exprs.kt:282:6:282:6 | d |
|
||||
| exprs.kt:283:5:283:6 | +... | exprs.kt:283:6:283:6 | d |
|
||||
| exprs.kt:294:5:294:11 | ~... | exprs.kt:294:5:294:5 | i |
|
||||
| exprs.kt:296:5:296:6 | -... | exprs.kt:296:6:296:6 | b |
|
||||
| exprs.kt:297:5:297:6 | +... | exprs.kt:297:6:297:6 | b |
|
||||
| exprs.kt:308:5:308:11 | ~... | exprs.kt:308:5:308:5 | b |
|
||||
| exprs.kt:310:5:310:6 | -... | exprs.kt:310:6:310:6 | s |
|
||||
| exprs.kt:311:5:311:6 | +... | exprs.kt:311:6:311:6 | s |
|
||||
| exprs.kt:322:5:322:11 | ~... | exprs.kt:322:5:322:5 | s |
|
||||
| exprs.kt:324:5:324:6 | -... | exprs.kt:324:6:324:6 | l |
|
||||
| exprs.kt:325:5:325:6 | +... | exprs.kt:325:6:325:6 | l |
|
||||
| exprs.kt:336:5:336:11 | ~... | exprs.kt:336:5:336:5 | l |
|
||||
| exprs.kt:338:5:338:6 | +... | exprs.kt:338:6:338:6 | f |
|
||||
| exprs.kt:339:5:339:6 | -... | exprs.kt:339:6:339:6 | f |
|
||||
| exprs.kt:79:15:79:22 | ~... | exprs.kt:79:15:79:16 | lx |
|
||||
| exprs.kt:121:14:121:16 | !... | exprs.kt:121:15:121:16 | b1 |
|
||||
| exprs.kt:202:19:202:20 | ...!! | exprs.kt:202:18:202:18 | x |
|
||||
| exprs.kt:211:20:211:21 | ...!! | exprs.kt:211:19:211:19 | s |
|
||||
| exprs.kt:212:20:212:21 | ...!! | exprs.kt:212:19:212:19 | s |
|
||||
| exprs.kt:286:5:286:6 | -... | exprs.kt:286:6:286:6 | i |
|
||||
| exprs.kt:287:5:287:6 | +... | exprs.kt:287:6:287:6 | i |
|
||||
| exprs.kt:288:5:288:6 | -... | exprs.kt:288:6:288:6 | d |
|
||||
| exprs.kt:289:5:289:6 | +... | exprs.kt:289:6:289:6 | d |
|
||||
| exprs.kt:300:5:300:11 | ~... | exprs.kt:300:5:300:5 | i |
|
||||
| exprs.kt:302:5:302:6 | -... | exprs.kt:302:6:302:6 | b |
|
||||
| exprs.kt:303:5:303:6 | +... | exprs.kt:303:6:303:6 | b |
|
||||
| exprs.kt:314:5:314:11 | ~... | exprs.kt:314:5:314:5 | b |
|
||||
| exprs.kt:316:5:316:6 | -... | exprs.kt:316:6:316:6 | s |
|
||||
| exprs.kt:317:5:317:6 | +... | exprs.kt:317:6:317:6 | s |
|
||||
| exprs.kt:328:5:328:11 | ~... | exprs.kt:328:5:328:5 | s |
|
||||
| exprs.kt:330:5:330:6 | -... | exprs.kt:330:6:330:6 | l |
|
||||
| exprs.kt:331:5:331:6 | +... | exprs.kt:331:6:331:6 | l |
|
||||
| exprs.kt:342:5:342:11 | ~... | exprs.kt:342:5:342:5 | l |
|
||||
| exprs.kt:344:5:344:6 | +... | exprs.kt:344:6:344:6 | f |
|
||||
| exprs.kt:345:5:345:6 | -... | exprs.kt:345:6:345:6 | f |
|
||||
|
||||
Reference in New Issue
Block a user