Item newValue = mergeFrom.get(i); Item merged = Item.merge(oldValue, newValue); if (merged != null && !merged.equals(oldValue)) { mergeInto.set(i, merged); changed = true;
Item value = entry.getValue(); value.makeCrossMethod(); if (defaultItem.equals(value)) { i.remove(); removed++;
return i1; if (i1.equals(i2)) { return i1;
if (value.equals(putFieldValue) && putFieldPC + 3 != getPC()) { priority++;
return i1; if (i1.equals(i2)) { return i1;
Item newValue = mergeFrom.get(i); Item merged = Item.merge(oldValue, newValue); if (merged != null && !merged.equals(oldValue)) { mergeInto.set(i, merged); changed = true;
Item value = entry.getValue(); value.makeCrossMethod(); if (defaultItem.equals(value)) { i.remove(); removed++;
private void pushByInvoke(DismantleBytecode dbc, boolean popThis) { String signature = dbc.getSigConstantOperand(); if ("<init>".equals(dbc.getNameConstantOperand()) && signature.endsWith(")V") && popThis) { pop(PreorderVisitor.getNumberArguments(signature)); Item constructed = pop(); if (getStackDepth() > 0) { Item next = getStackItem(0); if (constructed.equals(next)) { next = new Item(next); next.source = XFactory.createReferencedXMethod(dbc); next.pc = dbc.getPC(); replace(0, next); } } return; } pop(PreorderVisitor.getNumberArguments(signature) + (popThis ? 1 : 0)); pushBySignature(new SignatureParser(signature).getReturnTypeSignature(), dbc); }
public boolean sameValue(OpcodeStack.Item that) { return this.equals(that) && (this.registerNumber != -1 && this.registerNumber == that.registerNumber || this.fieldLoadedFromRegister != -1); }
if (value.equals(putFieldValue) && putFieldPC + 3 != getPC()) { priority++;
private void pushByInvoke(DismantleBytecode dbc, boolean popThis) { String signature = dbc.getSigConstantOperand(); if (Const.CONSTRUCTOR_NAME.equals(dbc.getNameConstantOperand()) && signature.endsWith(")V") && popThis) { pop(PreorderVisitor.getNumberArguments(signature)); Item constructed = pop(); if (getStackDepth() > 0) { Item next = getStackItem(0); if (constructed.equals(next)) { next = new Item(next); next.source = XFactory.createReferencedXMethod(dbc); next.pc = dbc.getPC(); replace(0, next); } } return; } pop(PreorderVisitor.getNumberArguments(signature) + (popThis ? 1 : 0)); pushBySignature(new SignatureParser(signature).getReturnTypeSignature(), dbc); }
public boolean sameValue(OpcodeStack.Item that) { return this.equals(that) && (this.registerNumber != -1 && this.registerNumber == that.registerNumber || this.fieldLoadedFromRegister != -1); }