MCPcopy Index your code
hub / github.com/clojure/clojure / visitLookupSwitchInsn

Method visitLookupSwitchInsn

src/jvm/clojure/asm/MethodWriter.java:1344–1357  ·  view source on GitHub ↗
(final Label dflt, final int[] keys, final Label[] labels)

Source from the content-addressed store, hash-verified

1342 }
1343
1344 @Override
1345 public void visitLookupSwitchInsn(final Label dflt, final int[] keys, final Label[] labels) {
1346 lastBytecodeOffset = code.length;
1347 // Add the instruction to the bytecode of the method.
1348 code.putByte(Opcodes.LOOKUPSWITCH).putByteArray(null, 0, (4 - code.length % 4) % 4);
1349 dflt.put(code, lastBytecodeOffset, true);
1350 code.putInt(labels.length);
1351 for (int i = 0; i < labels.length; ++i) {
1352 code.putInt(keys[i]);
1353 labels[i].put(code, lastBytecodeOffset, true);
1354 }
1355 // If needed, update the maximum stack size and number of locals, and stack map frames.
1356 visitSwitchInsn(dflt, labels);
1357 }
1358
1359 private void visitSwitchInsn(final Label dflt, final Label[] labels) {
1360 if (currentBasicBlock != null) {

Callers 3

doEmitMethod · 0.45
readCodeMethod · 0.45
tableSwitchMethod · 0.45

Calls 5

visitSwitchInsnMethod · 0.95
putByteArrayMethod · 0.80
putByteMethod · 0.80
putIntMethod · 0.80
putMethod · 0.45

Tested by

no test coverage detected