ASM Bytecode Generation to unwrap Expressions of adv-expr API #94
@ -3,7 +3,7 @@ package scientifik.kmath.asm
|
|||||||
import org.objectweb.asm.MethodVisitor
|
import org.objectweb.asm.MethodVisitor
|
||||||
import org.objectweb.asm.Opcodes.*
|
import org.objectweb.asm.Opcodes.*
|
||||||
|
|
||||||
fun MethodVisitor.visitLdcOrIConstInsn(value: Int) = when (value) {
|
internal fun MethodVisitor.visitLdcOrIConstInsn(value: Int) = when (value) {
|
||||||
-1 -> visitInsn(ICONST_M1)
|
-1 -> visitInsn(ICONST_M1)
|
||||||
0 -> visitInsn(ICONST_0)
|
0 -> visitInsn(ICONST_0)
|
||||||
1 -> visitInsn(ICONST_1)
|
1 -> visitInsn(ICONST_1)
|
||||||
@ -14,13 +14,13 @@ fun MethodVisitor.visitLdcOrIConstInsn(value: Int) = when (value) {
|
|||||||
else -> visitLdcInsn(value)
|
else -> visitLdcInsn(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun MethodVisitor.visitLdcOrDConstInsn(value: Double) = when (value) {
|
internal fun MethodVisitor.visitLdcOrDConstInsn(value: Double) = when (value) {
|
||||||
0.0 -> visitInsn(DCONST_0)
|
0.0 -> visitInsn(DCONST_0)
|
||||||
1.0 -> visitInsn(DCONST_1)
|
1.0 -> visitInsn(DCONST_1)
|
||||||
else -> visitLdcInsn(value)
|
else -> visitLdcInsn(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun MethodVisitor.visitLdcOrFConstInsn(value: Float) = when (value) {
|
internal fun MethodVisitor.visitLdcOrFConstInsn(value: Float) = when (value) {
|
||||||
0f -> visitInsn(FCONST_0)
|
0f -> visitInsn(FCONST_0)
|
||||||
1f -> visitInsn(FCONST_1)
|
1f -> visitInsn(FCONST_1)
|
||||||
2f -> visitInsn(FCONST_2)
|
2f -> visitInsn(FCONST_2)
|
||||||
|
Loading…
Reference in New Issue
Block a user