anchor.diff:    /// needed by type inference.
     bool _serializeClosureBodyExprs = false;
   
  -  /// If a closure function body is being serialized, the set of closure
  -  /// parameter names which are currently in scope.  Otherwise `null`.
  -  Set<String> _parameterNames;
  +  /// The set of variable names which are currently in scope.
  +  List<String> _variableNames = [];
   
     /// Indicates whether parameters found during visitors might inherit
     /// covariance.
  
positive.code:       body?.accept(new MixinSuperInvokedNamesCollector(mixinSuperInvokedNames));
      }
  
      _parameterNames = oldParameterNames;
      scopes.removeLast();
      assert(scopes.length == oldScopesLength);
      return b;
  
negative.code:     Map<int, int> localClosureIndexMap = serializeFunctionBody(b,
          node.initializers, node.body, node.constKeyword != null, false, false);
      if (node.constKeyword != null) {
        List<String> constructorParameterNames =
            node.parameters.parameters.map((p) => p.identifier.name).toList();
        b.constantInitializers = node.initializers
            .map((ConstructorInitializer initializer) =>
                serializeConstructorInitializer(initializer, (Expression expr) {
  