public LocalVariableState storeWide(int index, StackEntry entry) { ArrayList<StackEntry> newContents = new ArrayList<StackEntry>(contents.size()); for (int i = 0; i <= index || i < contents.size(); ++i) { if (index == i) { newContents.add(entry); newContents.add(new StackEntry(StackEntryType.TOP, entry.getDescriptor())); ++i; } else if (i >= contents.size()) { // write a null in unitialised slots // not sure if this is correct newContents.add(new StackEntry(StackEntryType.NULL, null)); } else { newContents.add(contents.get(i)); } } return new LocalVariableState(newContents, constPool); }
public LocalVariableState storeWide(int index, StackEntry entry) { ArrayList<StackEntry> newContents = new ArrayList<StackEntry>(contents.size()); for (int i = 0; i <= index || i < contents.size(); ++i) { if (index == i) { newContents.add(entry); newContents.add(new StackEntry(StackEntryType.TOP, entry.getDescriptor())); ++i; } else if (i >= contents.size()) { // write a null in unitialised slots // not sure if this is correct newContents.add(new StackEntry(StackEntryType.NULL, null)); } else { newContents.add(contents.get(i)); } } return new LocalVariableState(newContents, constPool); }
public LocalVariableState storeWide(int index, StackEntry entry) { ArrayList<StackEntry> newContents = new ArrayList<StackEntry>(contents.size()); for (int i = 0; i <= index || i < contents.size(); ++i) { if (index == i) { newContents.add(entry); newContents.add(new StackEntry(StackEntryType.TOP, entry.getDescriptor())); ++i; } else if (i >= contents.size()) { // write a null in unitialised slots // not sure if this is correct newContents.add(new StackEntry(StackEntryType.NULL, null)); } else { newContents.add(contents.get(i)); } } return new LocalVariableState(newContents, constPool); }
public LocalVariableState storeWide(int index, StackEntry entry) { ArrayList<StackEntry> newContents = new ArrayList<StackEntry>(contents.size()); for (int i = 0; i <= index || i < contents.size(); ++i) { if (index == i) { newContents.add(entry); newContents.add(new StackEntry(StackEntryType.TOP, entry.getDescriptor())); ++i; } else if (i >= contents.size()) { // write a null in unitialised slots // not sure if this is correct newContents.add(new StackEntry(StackEntryType.NULL, null)); } else { newContents.add(contents.get(i)); } } return new LocalVariableState(newContents, constPool); }
public LocalVariableState storeWide(int index, StackEntry entry) { ArrayList<StackEntry> newContents = new ArrayList<StackEntry>(contents.size()); for (int i = 0; i <= index || i < contents.size(); ++i) { if (index == i) { newContents.add(entry); newContents.add(new StackEntry(StackEntryType.TOP, entry.getDescriptor())); ++i; } else if (i >= contents.size()) { // write a null in unitialised slots // not sure if this is correct newContents.add(new StackEntry(StackEntryType.NULL, null)); } else { newContents.add(contents.get(i)); } } return new LocalVariableState(newContents, constPool); }
public void aaload() { assertTypeOnStack(StackEntryType.INT, "aaload requires int on top of stack"); if (!getStack().top_1().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 2 on the stack"); } writeByte(Opcode.AALOAD); currentOffset++; advanceFrame(currentFrame.pop2push1("Ljava/lang/Object;")); }
/** * push a type on to the top of the stack */ public StackState push(StackEntry entry) { if (entry.getType() == StackEntryType.DOUBLE || entry.getType() == StackEntryType.LONG) { return newStack(entry, new StackEntry(StackEntryType.TOP, entry.getDescriptor())); } return newStack(entry); }
/** * push a type on to the top of the stack */ public StackState push(StackEntry entry) { if (entry.getType() == StackEntryType.DOUBLE || entry.getType() == StackEntryType.LONG) { return newStack(entry, new StackEntry(StackEntryType.TOP, entry.getDescriptor())); } return newStack(entry); }
/** * push a type on to the top of the stack */ public StackState push(StackEntry entry) { if (entry.getType() == StackEntryType.DOUBLE || entry.getType() == StackEntryType.LONG) { return newStack(entry, new StackEntry(StackEntryType.TOP, entry.getDescriptor())); } return newStack(entry); }
public void aaload() { assertTypeOnStack(StackEntryType.INT, "aaload requires int on top of stack"); if (!getStack().top_1().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 2 on the stack"); } writeByte(Opcode.AALOAD); currentOffset++; advanceFrame(currentFrame.pop2push1("Ljava/lang/Object;")); }
public void aaload() { assertTypeOnStack(StackEntryType.INT, "aaload requires int on top of stack"); if (!getStack().top_1().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 2 on the stack"); } writeByte(Opcode.AALOAD); currentOffset++; advanceFrame(currentFrame.pop2push1("Ljava/lang/Object;")); }
public void aaload() { assertTypeOnStack(StackEntryType.INT, "aaload requires int on top of stack"); if (!getStack().top_1().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 2 on the stack"); } writeByte(Opcode.AALOAD); currentOffset++; advanceFrame(currentFrame.pop2push1("Ljava/lang/Object;")); }
public void aaload() { assertTypeOnStack(StackEntryType.INT, "aaload requires int on top of stack"); if (!getStack().top_1().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 2 on the stack"); } writeByte(Opcode.AALOAD); currentOffset++; advanceFrame(currentFrame.pop2push1("Ljava/lang/Object;")); }
/** * push a type on to the top of the stack */ public StackState push(StackEntry entry) { if (entry.getType() == StackEntryType.DOUBLE || entry.getType() == StackEntryType.LONG) { return newStack(entry, new StackEntry(StackEntryType.TOP, entry.getDescriptor())); } return newStack(entry); }
/** * push a type on to the top of the stack */ public StackState push(StackEntry entry) { if (entry.getType() == StackEntryType.DOUBLE || entry.getType() == StackEntryType.LONG) { return newStack(entry, new StackEntry(StackEntryType.TOP, entry.getDescriptor())); } return newStack(entry); }
public void aastore() { assertTypeOnStack(StackEntryType.OBJECT, "aastore requires reference type on top of stack"); assertTypeOnStack(1, StackEntryType.INT, "aastore requires an int on position 2 stack"); if (!getStack().top_2().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 3 on the stack"); } writeByte(Opcode.AASTORE); currentOffset++; advanceFrame(currentFrame.pop3()); }
public void aastore() { assertTypeOnStack(StackEntryType.OBJECT, "aastore requires reference type on top of stack"); assertTypeOnStack(1, StackEntryType.INT, "aastore requires an int on position 2 stack"); if (!getStack().top_2().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 3 on the stack"); } writeByte(Opcode.AASTORE); currentOffset++; advanceFrame(currentFrame.pop3()); }
public void aastore() { assertTypeOnStack(StackEntryType.OBJECT, "aastore requires reference type on top of stack"); assertTypeOnStack(1, StackEntryType.INT, "aastore requires an int on position 2 stack"); if (!getStack().top_2().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 3 on the stack"); } writeByte(Opcode.AASTORE); currentOffset++; advanceFrame(currentFrame.pop3()); }
public void aastore() { assertTypeOnStack(StackEntryType.OBJECT, "aastore requires reference type on top of stack"); assertTypeOnStack(1, StackEntryType.INT, "aastore requires an int on position 2 stack"); if (!getStack().top_2().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 3 on the stack"); } writeByte(Opcode.AASTORE); currentOffset++; advanceFrame(currentFrame.pop3()); }
public void aastore() { assertTypeOnStack(StackEntryType.OBJECT, "aastore requires reference type on top of stack"); assertTypeOnStack(1, StackEntryType.INT, "aastore requires an int on position 2 stack"); if (!getStack().top_2().getDescriptor().startsWith("[")) { throw new InvalidBytecodeException("aaload needs an array in position 3 on the stack"); } writeByte(Opcode.AASTORE); currentOffset++; advanceFrame(currentFrame.pop3()); }