anchor.diff:  
             case ONE_EXPRESSION:
             case ONE_STATEMENT:
  -          case IF_STATEMENT:
               // TODO(ngeoffray): Generate a conditional.
               emitIf();
               visitWithoutIndent(thenGraph);
  
positive.code:     }
  
      HInstruction last = start.last;
      if (last is HGoto) {
        if (start !== end) {
          int nextKind = analyzeBlocksForCodegen(start.successors[0], end);
          if (!updateKind(nextKind)) return MULTIPLE_STATEMENTS;
        }
      } else if (last is HIf) {
        HIf ifInstruction = last;
        if (ifInstruction.joinBlock !== null
            && analyzeBlocksForCodegen(ifInstruction.joinBlock, end) != EMPTY) {
          return MULTIPLE_STATEMENTS;
        }
        int ifKind = controlFlowOperators.contains(ifInstruction)
            ? ONE_EXPRESSION
            : IF_STATEMENT;
        if (!updateKind(ifKind)) return MULTIPLE_STATEMENTS;
      } else if (start !== end) {
        return MULTIPLE_STATEMENTS;
      } else if (!updateKind(
                    last.isStatement() ? ONE_STATEMENT : ONE_EXPRESSION)) {
        return MULTIPLE_STATEMENTS;
      }
  
      CopyHandler handler = variableNames.getCopyHandler(start);
  
negative.code:             break;
  
            case ONE_STATEMENT:
              addIndented('if (');
              generateNot(node.inputs[0]);
              buffer.add(') ');
  