anchor.diff:    }
   
     visitSwitchStatement(SwitchStatement node) {
  +    if (_switchCaseIndexer == null) {
  +      _switchCaseIndexer = new SwitchCaseIndexer();
  +    }
       _switchCaseIndexer.enter(node);
       writeByte(Tag.SwitchStatement);
       writeOffset(node.fileOffset);
  
positive.code:     assert(_variableIndexer != null);
      _variableIndexer.pushScope();
      var oldLabels = _labelIndexer;
      _labelIndexer = new LabelIndexer();
      var oldCases = _switchCaseIndexer;
      _switchCaseIndexer = new SwitchCaseIndexer();
      // Note: FunctionNode has no tag.
      _typeParameterIndexer.enter(node.typeParameters);
      writeOffset(node.fileOffset);
  
negative.code:   int get numberOfStrings => index.length;
  
    int put(String string) {
      var result = index[string];
      if (result == null) {
        entries.add(new StringTableEntry(string));
        result = index.length;
        index[string] = result;
      }
      return result;
    }
  
    int operator [](String string) => index[string];
  