anchor.diff:    int jumpIndex = 0;
     int labelIndex = 0;
     final MemberEntity member;
  -  final Map<ir.TreeNode, JJumpTarget> jumpTargetMap =
  -      <ir.TreeNode, JJumpTarget>{};
  -  final Set<ir.BreakStatement> breaksAsContinue = new Set<ir.BreakStatement>();
  +  final Map<ir.TreeNode, JJumpTarget> jumpTargetMap = {};
  +  final Set<ir.BreakStatement> breaksAsContinue = {};
   
     JumpVisitor(this.member);
   
  
positive.code: 
    @override
    Local getLocalVariable(ir.VariableDeclaration node) {
      return _variableMap.putIfAbsent(node, () {
        JLocal local = new JLocal(node.name, currentMember,
            isRegularParameter: node.parent is ir.FunctionNode);
        _locals.register<JLocal, LocalData>(local, new LocalData(node));
        return local;
      });
    }
  
negative.code:     source.begin(tag);
      _currentMember = source.readMember();
      int localsCount = source.readInt();
      if (localsCount > 0) {
        _variableMap = {};
        for (int i = 0; i < localsCount; i++) {
          int index = source.readInt();
          String name = source.readStringOrNull();
          bool isRegularParameter = source.readBool();
          ir.VariableDeclaration node = source.readTreeNode();
          JLocal local =
              JLocal(name, currentMember, isRegularParameter: isRegularParameter);
          LocalData data = LocalData(node);
          _locals.registerByIndex(index, local, data);
          _variableMap[node] = local;
        }
      }
      int jumpCount = source.readInt();
      if (jumpCount > 0) {
        _jumpTargetMap = {};
        for (int i = 0; i < jumpCount; i++) {
          JJumpTarget target = JJumpTarget.readFromDataSource(source);
          List<ir.TreeNode> nodes = source.readTreeNodes();
          for (ir.TreeNode node in nodes) {
            _jumpTargetMap[node] = target;
  