@Override public void visitSelect(Select ins) { isBranch = true; // Add non-default switch edges. InstructionHandle[] targets = ins.getTargets(); for (InstructionHandle target : targets) { targetList.add(new Target(target, SWITCH_EDGE)); } // Add default switch edge. InstructionHandle defaultTarget = ins.getTarget(); if (defaultTarget == null) { throw new IllegalStateException(); } targetList.add(new Target(defaultTarget, SWITCH_DEFAULT_EDGE)); }
/** * Dump instruction as byte code to stream out. * @param out Output stream */ @Override public void dump( final DataOutputStream out ) throws IOException { super.dump(out); final int _match_length = getMatch_length(); out.writeInt(_match_length); // npairs for (int i = 0; i < _match_length; i++) { out.writeInt(super.getMatch(i)); // match-offset pairs out.writeInt(setIndices(i, getTargetOffset(super.getTarget(i)))); } }
@Override public void visitSelect(Select ins) { isBranch = true; // Add non-default switch edges. InstructionHandle[] targets = ins.getTargets(); for (InstructionHandle target : targets) { targetList.add(new Target(target, SWITCH_EDGE)); } // Add default switch edge. InstructionHandle defaultTarget = ins.getTarget(); if (defaultTarget == null) { throw new IllegalStateException(); } targetList.add(new Target(defaultTarget, SWITCH_DEFAULT_EDGE)); }
/** * Dump instruction as byte code to stream out. * @param out Output stream */ @Override public void dump( final DataOutputStream out ) throws IOException { super.dump(out); final int _match_length = getMatch_length(); final int low = (_match_length > 0) ? super.getMatch(0) : 0; out.writeInt(low); final int high = (_match_length > 0) ? super.getMatch(_match_length - 1) : 0; out.writeInt(high); for (int i = 0; i < _match_length; i++) { out.writeInt(setIndices(i, getTargetOffset(super.getTarget(i)))); } }
ret[0] = ((Select) inst).getTarget(); System.arraycopy(matchTargets, 0, ret, 1, matchTargets.length); return ret;
ret[0] = ((Select) inst).getTarget(); System.arraycopy(matchTargets, 0, ret, 1, matchTargets.length); return ret;
ret[0] = ((Select) inst).getTarget(); System.arraycopy(matchTargets, 0, ret, 1, matchTargets.length); return ret;
ret[0] = ((Select) inst).getTarget(); System.arraycopy(matchTargets, 0, ret, 1, matchTargets.length); return ret;