Encapsulate MethodVisitor extensions

This commit is contained in:
Iaroslav 2020-06-13 15:53:54 +07:00
parent 834d1e1397
commit 223d238c43
No known key found for this signature in database
GPG Key ID: 46E15E4A31B3BCD7

View File

@ -3,7 +3,7 @@ package scientifik.kmath.asm
import org.objectweb.asm.MethodVisitor
import org.objectweb.asm.Opcodes.*
fun MethodVisitor.visitLdcOrIConstInsn(value: Int) = when (value) {
internal fun MethodVisitor.visitLdcOrIConstInsn(value: Int) = when (value) {
-1 -> visitInsn(ICONST_M1)
0 -> visitInsn(ICONST_0)
1 -> visitInsn(ICONST_1)
@ -14,13 +14,13 @@ fun MethodVisitor.visitLdcOrIConstInsn(value: Int) = when (value) {
else -> visitLdcInsn(value)
}
fun MethodVisitor.visitLdcOrDConstInsn(value: Double) = when (value) {
internal fun MethodVisitor.visitLdcOrDConstInsn(value: Double) = when (value) {
0.0 -> visitInsn(DCONST_0)
1.0 -> visitInsn(DCONST_1)
else -> visitLdcInsn(value)
}
fun MethodVisitor.visitLdcOrFConstInsn(value: Float) = when (value) {
internal fun MethodVisitor.visitLdcOrFConstInsn(value: Float) = when (value) {
0f -> visitInsn(FCONST_0)
1f -> visitInsn(FCONST_1)
2f -> visitInsn(FCONST_2)