anchor.diff:  // Version of DartFuzz. Increase this each time changes are made
   // to preserve the property that a given version of DartFuzz yields
   // the same fuzzed program for a deterministic random seed.
  -const String version = '1.23';
  +const String version = '1.24';
   
   // Restriction on statements and expressions.
   const int stmtLength = 2;
  
positive.code:   void emitClasses() {
      assert(classFields.length == classMethods.length);
      for (int i = 0; i < classFields.length; i++) {
        emitLn('class X$i ${i == 0 ? "" : "extends X${i - 1}"} {');
        indent += 2;
        emitVarDecls('$fieldName${i}_', classFields[i]);
        currentClass = i;
  
negative.code:         return;
        }
      } else {
        int classIndex = currentClass;
        // Chase randomly up in class hierarchy.
        while (classParents[classIndex] > 0) {
          if (rand.nextInt(2) == 0) {
            break;
          }
          classIndex = classParents[classIndex];
        }
        int m1 = 0;
        // Inside a class: try to call backwards into current or parent class
        // methods first.
        if (currentMethod == null || classIndex != currentClass) {
          // If currently emitting the 'run' method or calling into a parent class
          // pick any of the current or parent class methods respectively.
          m1 = classMethods[classIndex].length;
        } else {
          // If calling into the current class from any method other than 'run'
          // pick one of the already emitted methods
          // (to avoid infinite recursions).
          m1 = currentMethod;
        }
        final int m2 = globalMethods.length;
        if (pickedCall(depth, tp, '$methodName${classIndex}_',
                classMethods[classIndex], m1) ||
            pickedCall(depth, tp, methodName, globalMethods, m2)) {
          return;
        }
  