public void visitInsn(final int opcode){
	// adds the instruction to the bytecode of the method
	code.putByte(opcode);
	// update currentBlock
	// Label currentBlock = this.currentBlock;
	if(currentBlock != null)
		{
		if(compute == FRAMES)
			{
			currentBlock.frame.execute(opcode, 0, null, null);
			}
		else
			{
			// updates current and max stack sizes
			int size = stackSize + Frame.SIZE[opcode];
			if(size > maxStackSize)
				{
				maxStackSize = size;
				}
			stackSize = size;
			}
		// if opcode == ATHROW or xRETURN, ends current block (no successor)
		if((opcode >= Opcodes.IRETURN && opcode <= Opcodes.RETURN)
		   || opcode == Opcodes.ATHROW)
			{
			noSuccessor();
			}
		}
}