/** {@inheritDoc*/ public String toHuman() { StringBuilder sb = new StringBuilder(); sb.append("(locals array set; primary)\n"); sb.append(getPrimary().toHuman()); sb.append('\n'); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { sb.append("(locals array set: primary for caller " + Hex.u2(label) + ")\n"); sb.append(la.getPrimary().toHuman()); sb.append('\n'); } } return sb.toString(); }
/** {@inheritDoc} */ @Override public String toHuman() { StringBuilder sb = new StringBuilder(); sb.append("(locals array set; primary)\n"); sb.append(getPrimary().toHuman()); sb.append('\n'); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { sb.append("(locals array set: primary for caller " + Hex.u2(label) + ")\n"); sb.append(la.getPrimary().toHuman()); sb.append('\n'); } } return sb.toString(); }
/** {@inheritDoc*/ public String toHuman() { StringBuilder sb = new StringBuilder(); sb.append("(locals array set; primary)\n"); sb.append(getPrimary().toHuman()); sb.append('\n'); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { sb.append("(locals array set: primary for caller " + Hex.u2(label) + ")\n"); sb.append(la.getPrimary().toHuman()); sb.append('\n'); } } return sb.toString(); }
/** {@inheritDoc} */ public String toHuman() { StringBuilder sb = new StringBuilder(); sb.append("(locals array set; primary)\n"); sb.append(getPrimary().toHuman()); sb.append('\n'); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { sb.append("(locals array set: primary for caller " + Hex.u2(label) + ")\n"); sb.append(la.getPrimary().toHuman()); sb.append('\n'); } } return sb.toString(); }
/** {@inheritDoc*/ public String toHuman() { StringBuilder sb = new StringBuilder(); sb.append("(locals array set; primary)\n"); sb.append(getPrimary().toHuman()); sb.append('\n'); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { sb.append("(locals array set: primary for caller " + Hex.u2(label) + ")\n"); sb.append(la.getPrimary().toHuman()); sb.append('\n'); } } return sb.toString(); }
/** {@inheritDoc} */ @Override public String toHuman() { StringBuilder sb = new StringBuilder(); sb.append("(locals array set; primary)\n"); sb.append(getPrimary().toHuman()); sb.append('\n'); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { sb.append("(locals array set: primary for caller " + Hex.u2(label) + ")\n"); sb.append(la.getPrimary().toHuman()); sb.append('\n'); } } return sb.toString(); }
/** @inheritDoc */ @Override public void annotate(ExceptionWithContext ex) { ex.addContext("(locals array set; primary)"); primary.annotate(ex); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { ex.addContext("(locals array set: primary for caller " + Hex.u2(label) + ')'); la.getPrimary().annotate(ex); } } }
OneLocalsArray newPrimary; newPrimary = primary.merge(other.getPrimary()); newPrimary = la.getPrimary(); } else { newPrimary = newPrimary.merge(la.getPrimary());
OneLocalsArray newPrimary; newPrimary = primary.merge(other.getPrimary()); newPrimary = la.getPrimary(); } else { newPrimary = newPrimary.merge(la.getPrimary());
/** {@inheritDoc} */ @Override public void annotate(ExceptionWithContext ex) { ex.addContext("(locals array set; primary)"); primary.annotate(ex); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { ex.addContext("(locals array set: primary for caller " + Hex.u2(label) + ')'); la.getPrimary().annotate(ex); } } }
/** @inheritDoc */ @Override public void annotate(ExceptionWithContext ex) { ex.addContext("(locals array set; primary)"); primary.annotate(ex); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { ex.addContext("(locals array set: primary for caller " + Hex.u2(label) + ')'); la.getPrimary().annotate(ex); } } }
/** {@inheritDoc} */ @Override public void annotate(ExceptionWithContext ex) { ex.addContext("(locals array set; primary)"); primary.annotate(ex); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { ex.addContext("(locals array set: primary for caller " + Hex.u2(label) + ')'); la.getPrimary().annotate(ex); } } }
/** {@inheritDoc} */ @Override public void annotate(ExceptionWithContext ex) { ex.addContext("(locals array set; primary)"); primary.annotate(ex); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { ex.addContext("(locals array set: primary for caller " + Hex.u2(label) + ')'); la.getPrimary().annotate(ex); } } }
/** @inheritDoc */ @Override public void annotate(ExceptionWithContext ex) { ex.addContext("(locals array set; primary)"); primary.annotate(ex); int sz = secondaries.size(); for (int label = 0; label < sz; label++) { LocalsArray la = secondaries.get(label); if (la != null) { ex.addContext("(locals array set: primary for caller " + Hex.u2(label) + ')'); la.getPrimary().annotate(ex); } } }
/** * Makes a frame for a subroutine start block, given that this is the * ending frame of one of the subroutine's calling blocks. Subroutine * calls may be nested and thus may have nested locals state, so we * start with an initial state as seen by the subroutine, but keep track * of the individual locals states that will be expected when the individual * subroutine calls return. * * @param subLabel label of subroutine start block * @param callerLabel {@code >=0;} label of the caller block where this frame * came from. * @return a new instance to begin a called subroutine. */ public Frame makeNewSubroutineStartFrame(int subLabel, int callerLabel) { IntList newSubroutines = subroutines.mutableCopy(); newSubroutines.add(subLabel); Frame newFrame = new Frame(locals.getPrimary(), stack, IntList.makeImmutable(subLabel)); return newFrame.mergeWithSubroutineCaller(this, subLabel, callerLabel); }
/** * Makes a frame for a subroutine start block, given that this is the * ending frame of one of the subroutine's calling blocks. Subroutine * calls may be nested and thus may have nested locals state, so we * start with an initial state as seen by the subroutine, but keep track * of the individual locals states that will be expected when the individual * subroutine calls return. * * @param subLabel label of subroutine start block * @param callerLabel {@code >=0;} label of the caller block where this frame * came from. * @return a new instance to begin a called subroutine. */ public Frame makeNewSubroutineStartFrame(int subLabel, int callerLabel) { IntList newSubroutines = subroutines.mutableCopy(); newSubroutines.add(subLabel); Frame newFrame = new Frame(locals.getPrimary(), stack, IntList.makeImmutable(subLabel)); return newFrame.mergeWithSubroutineCaller(this, subLabel, callerLabel); }
/** * Makes a frame for a subroutine start block, given that this is the * ending frame of one of the subroutine's calling blocks. Subroutine * calls may be nested and thus may have nested locals state, so we * start with an initial state as seen by the subroutine, but keep track * of the individual locals states that will be expected when the individual * subroutine calls return. * * @param subLabel label of subroutine start block * @param callerLabel {@code >=0;} label of the caller block where this frame * came from. * @return a new instance to begin a called subroutine. */ public Frame makeNewSubroutineStartFrame(int subLabel, int callerLabel) { IntList newSubroutines = subroutines.mutableCopy(); newSubroutines.add(subLabel); Frame newFrame = new Frame(locals.getPrimary(), stack, IntList.makeImmutable(subLabel)); return newFrame.mergeWithSubroutineCaller(this, subLabel, callerLabel); }
/** * Makes a frame for a subroutine start block, given that this is the * ending frame of one of the subroutine's calling blocks. Subroutine * calls may be nested and thus may have nested locals state, so we * start with an initial state as seen by the subroutine, but keep track * of the individual locals states that will be expected when the individual * subroutine calls return. * * @param subLabel label of subroutine start block * @param callerLabel {@code >=0;} label of the caller block where this frame * came from. * @return a new instance to begin a called subroutine. */ public Frame makeNewSubroutineStartFrame(int subLabel, int callerLabel) { IntList newSubroutines = subroutines.mutableCopy(); newSubroutines.add(subLabel); Frame newFrame = new Frame(locals.getPrimary(), stack, IntList.makeImmutable(subLabel)); return newFrame.mergeWithSubroutineCaller(this, subLabel, callerLabel); }
/** * Makes a frame for a subroutine start block, given that this is the * ending frame of one of the subroutine's calling blocks. Subroutine * calls may be nested and thus may have nested locals state, so we * start with an initial state as seen by the subroutine, but keep track * of the individual locals states that will be expected when the individual * subroutine calls return. * * @param subLabel label of subroutine start block * @param callerLabel {@code >=0;} label of the caller block where this frame * came from. * @return a new instance to begin a called subroutine. */ public Frame makeNewSubroutineStartFrame(int subLabel, int callerLabel) { IntList newSubroutines = subroutines.mutableCopy(); newSubroutines.add(subLabel); Frame newFrame = new Frame(locals.getPrimary(), stack, IntList.makeImmutable(subLabel)); return newFrame.mergeWithSubroutineCaller(this, subLabel, callerLabel); }
/** * Makes a frame for a subroutine start block, given that this is the * ending frame of one of the subroutine's calling blocks. Subroutine * calls may be nested and thus may have nested locals state, so we * start with an initial state as seen by the subroutine, but keep track * of the individual locals states that will be expected when the individual * subroutine calls return. * * @param subLabel label of subroutine start block * @param callerLabel {@code >=0;} label of the caller block where this frame * came from. * @return a new instance to begin a called subroutine. */ public Frame makeNewSubroutineStartFrame(int subLabel, int callerLabel) { IntList newSubroutines = subroutines.mutableCopy(); newSubroutines.add(subLabel); Frame newFrame = new Frame(locals.getPrimary(), stack, IntList.makeImmutable(subLabel)); return newFrame.mergeWithSubroutineCaller(this, subLabel, callerLabel); }