MCPcopy Create free account
hub / github.com/GraxCode/zelixkiller / convertValue

Method convertValue

src/me/lpk/analysis/StackHelper.java:411–460  ·  view source on GitHub ↗
(AbstractInsnNode insn, InsnValue value)

Source from the content-addressed store, hash-verified

409 }
410
411 public InsnValue convertValue(AbstractInsnNode insn, InsnValue value) {
412 Object obj = value.getValue();
413 switch (insn.getOpcode()) {
414 case Opcodes.I2L:
415 case Opcodes.D2L:
416 case Opcodes.F2L:
417 if (obj == null) {
418 return InsnValue.LONG_VALUE;
419 }
420 return InsnValue.longValue(((Number) obj).longValue());
421 case Opcodes.I2F:
422 case Opcodes.L2F:
423 case Opcodes.D2F:
424 if (obj == null) {
425 return InsnValue.FLOAT_VALUE;
426 }
427 return InsnValue.floatValue(((Number) obj).floatValue());
428 case Opcodes.L2I:
429 case Opcodes.F2I:
430 case Opcodes.D2I:
431 if (obj == null) {
432 return InsnValue.INT_VALUE;
433 }
434 return InsnValue.intValue(((Number) obj).intValue());
435 case Opcodes.I2D:
436 case Opcodes.L2D:
437 case Opcodes.F2D:
438 if (obj == null) {
439 return InsnValue.DOUBLE_VALUE;
440 }
441 return InsnValue.doubleValue(((Number) obj).doubleValue());
442 case Opcodes.I2B:
443 if (obj == null) {
444 return InsnValue.BYTE_VALUE;
445 }
446 return InsnValue.byteValue(((Number) obj).byteValue());
447 case Opcodes.I2C:
448 if (obj == null) {
449 return InsnValue.CHAR_VALUE;
450 }
451 return InsnValue.charValue(((Number) obj).intValue());
452 case Opcodes.I2S:
453 if (obj == null) {
454 return InsnValue.SHORT_VALUE;
455 }
456 return InsnValue.shortValue(((Number) obj).shortValue());
457 }
458
459 return null;
460 }
461
462 public InsnValue invertValue(AbstractInsnNode insn, InsnValue value) {
463 Object obj = value.getValue();

Callers 1

executeMethod · 0.80

Calls 8

longValueMethod · 0.95
floatValueMethod · 0.95
intValueMethod · 0.95
doubleValueMethod · 0.95
byteValueMethod · 0.95
charValueMethod · 0.95
shortValueMethod · 0.95
getValueMethod · 0.45

Tested by

no test coverage detected