* @param is_and - true if the expression is &&=, false if it's ||=.
* @param need_value - true if the expression's not used in a void context.
*/
InstructionList generateCompoundLogicalBracketAssignment(IASNode iNode, InstructionList stem, InstructionList index, InstructionList expr, boolean is_and, boolean need_value)
{
IDynamicAccessNode arrayIndexNode = (IDynamicAccessNode)((IBinaryOperatorNode)iNode).getLeftOperandNode();
InstructionList result = createInstructionList(iNode, stem.size() * 2 + index.size() + expr.size() + 11 );
Label tail = new Label();
int failure_test = is_and? OP_iffalse : OP_iftrue;