mirror of
https://github.com/github/codeql.git
synced 2026-04-30 03:05:15 +02:00
Add missing times operator
This commit is contained in:
committed by
Ian Lynagh
parent
96f3ea460f
commit
377a0f91f0
@@ -1293,6 +1293,13 @@ open class KotlinFileExtractor(
|
||||
tw.writeExprsKotlinType(id, type.kotlinResult.id)
|
||||
binopDisp(id)
|
||||
}
|
||||
c.origin == IrStatementOrigin.MUL && isNumericFunction("times") -> {
|
||||
val id = tw.getFreshIdLabel<DbMulexpr>()
|
||||
val type = useType(c.type)
|
||||
tw.writeExprs_mulexpr(id, type.javaResult.id, parent, idx)
|
||||
tw.writeExprsKotlinType(id, type.kotlinResult.id)
|
||||
binopDisp(id)
|
||||
}
|
||||
c.origin == IrStatementOrigin.DIV && isNumericFunction("div") -> {
|
||||
val id = tw.getFreshIdLabel<DbDivexpr>()
|
||||
val type = useType(c.type)
|
||||
|
||||
@@ -844,6 +844,46 @@ exprs.kt:
|
||||
# 243| 0: [ValueNEExpr] ... (value not-equals) ...
|
||||
# 243| 0: [VarAccess] nullableReftype
|
||||
# 243| 1: [NullLiteral] null
|
||||
# 246| 10: [Method] mulOperators
|
||||
#-----| 4: (Parameters)
|
||||
# 246| 0: [Parameter] x
|
||||
# 246| 1: [Parameter] y
|
||||
# 247| 2: [Parameter] byx
|
||||
# 247| 3: [Parameter] byy
|
||||
# 248| 4: [Parameter] sx
|
||||
# 248| 5: [Parameter] sy
|
||||
# 249| 6: [Parameter] lx
|
||||
# 249| 7: [Parameter] ly
|
||||
# 250| 8: [Parameter] dx
|
||||
# 250| 9: [Parameter] dy
|
||||
# 251| 10: [Parameter] fx
|
||||
# 251| 11: [Parameter] fy
|
||||
# 251| 5: [BlockStmt] { ... }
|
||||
# 253| 0: [LocalVariableDeclStmt] var ...;
|
||||
# 253| 1: [LocalVariableDeclExpr] i
|
||||
# 253| 0: [MulExpr] ... * ...
|
||||
# 253| 0: [VarAccess] x
|
||||
# 253| 1: [VarAccess] y
|
||||
# 254| 1: [LocalVariableDeclStmt] var ...;
|
||||
# 254| 1: [LocalVariableDeclExpr] b
|
||||
# 254| 0: [MulExpr] ... * ...
|
||||
# 254| 0: [VarAccess] byx
|
||||
# 254| 1: [VarAccess] byy
|
||||
# 255| 2: [LocalVariableDeclStmt] var ...;
|
||||
# 255| 1: [LocalVariableDeclExpr] l
|
||||
# 255| 0: [MulExpr] ... * ...
|
||||
# 255| 0: [VarAccess] lx
|
||||
# 255| 1: [VarAccess] ly
|
||||
# 256| 3: [LocalVariableDeclStmt] var ...;
|
||||
# 256| 1: [LocalVariableDeclExpr] d
|
||||
# 256| 0: [MulExpr] ... * ...
|
||||
# 256| 0: [VarAccess] dx
|
||||
# 256| 1: [VarAccess] dy
|
||||
# 257| 4: [LocalVariableDeclStmt] var ...;
|
||||
# 257| 1: [LocalVariableDeclExpr] f
|
||||
# 257| 0: [MulExpr] ... * ...
|
||||
# 257| 0: [VarAccess] fx
|
||||
# 257| 1: [VarAccess] fy
|
||||
# 142| 2: [Class] C
|
||||
# 142| 1: [Constructor] C
|
||||
#-----| 4: (Parameters)
|
||||
|
||||
@@ -99,5 +99,10 @@
|
||||
| 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 |
|
||||
| funcExprs.kt:26:35:26:42 | ... + ... | funcExprs.kt:26:35:26:38 | this | funcExprs.kt:26:42:26:42 | a |
|
||||
| localFunctionCalls.kt:5:25:5:29 | ... + ... | localFunctionCalls.kt:5:25:5:25 | i | localFunctionCalls.kt:5:29:5:29 | x |
|
||||
|
||||
@@ -700,6 +700,26 @@
|
||||
| exprs.kt:243:13:243:27 | nullableReftype | exprs.kt:223:1:244:1 | equalityTests | VarAccess |
|
||||
| exprs.kt:243:13:243:35 | ... (value not-equals) ... | exprs.kt:223:1:244:1 | equalityTests | ValueNEExpr |
|
||||
| exprs.kt:243:32:243:35 | null | exprs.kt:223:1:244:1 | equalityTests | NullLiteral |
|
||||
| exprs.kt:253:3:253:15 | i | exprs.kt:246:1:259:1 | mulOperators | LocalVariableDeclExpr |
|
||||
| exprs.kt:253:11:253:11 | x | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:253:11:253:15 | ... * ... | exprs.kt:246:1:259:1 | mulOperators | MulExpr |
|
||||
| exprs.kt:253:15:253:15 | y | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:254:3:254:19 | b | exprs.kt:246:1:259:1 | mulOperators | LocalVariableDeclExpr |
|
||||
| exprs.kt:254:11:254:13 | byx | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:254:11:254:19 | ... * ... | exprs.kt:246:1:259:1 | mulOperators | MulExpr |
|
||||
| exprs.kt:254:17:254:19 | byy | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:255:3:255:17 | l | exprs.kt:246:1:259:1 | mulOperators | LocalVariableDeclExpr |
|
||||
| exprs.kt:255:11:255:12 | lx | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:255:11:255:17 | ... * ... | exprs.kt:246:1:259:1 | mulOperators | MulExpr |
|
||||
| exprs.kt:255:16:255:17 | ly | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:256:3:256:17 | d | exprs.kt:246:1:259:1 | mulOperators | LocalVariableDeclExpr |
|
||||
| exprs.kt:256:11:256:12 | dx | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:256:11:256:17 | ... * ... | exprs.kt:246:1:259:1 | mulOperators | MulExpr |
|
||||
| exprs.kt:256:16:256:17 | dy | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:257:3:257:17 | f | exprs.kt:246:1:259:1 | mulOperators | LocalVariableDeclExpr |
|
||||
| exprs.kt:257:11:257:12 | fx | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| exprs.kt:257:11:257:17 | ... * ... | exprs.kt:246:1:259:1 | mulOperators | MulExpr |
|
||||
| exprs.kt:257:16:257:17 | fy | exprs.kt:246:1:259:1 | mulOperators | VarAccess |
|
||||
| funcExprs.kt:16:5:16:33 | functionExpression0a(...) | funcExprs.kt:15:1:46:1 | call | MethodAccess |
|
||||
| funcExprs.kt:16:26:16:33 | ...->... | funcExprs.kt:15:1:46:1 | call | LambdaExpr |
|
||||
| funcExprs.kt:16:26:16:33 | Function0<Integer> | funcExprs.kt:15:1:46:1 | call | TypeAccess |
|
||||
|
||||
@@ -242,3 +242,18 @@ fun equalityTests(notNullPrimitive: Int, nullablePrimitive: Int?, notNullReftype
|
||||
val b19 = notNullReftype != null
|
||||
val b20 = nullableReftype != null
|
||||
}
|
||||
|
||||
fun mulOperators(x: Int, y: Int,
|
||||
byx: Byte, byy: Byte,
|
||||
sx: Short, sy: Short,
|
||||
lx: Long, ly: Long,
|
||||
dx: Double, dy: Double,
|
||||
fx: Float, fy: Float) {
|
||||
|
||||
val i = x * y
|
||||
val b = byx * byy
|
||||
val l = lx * ly
|
||||
val d = dx * dy
|
||||
val f = fx * fy
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user