anchor.diff:  // Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file
   // for details. All rights reserved. Use of this source code is governed by a
   // BSD-style license that can be found in the LICENSE file.
  -
  -// @dart = 2.9
   
   // TODO(jmesserly): import from its own package
   import '../js_ast/js_ast.dart';
  
positive.code: 
    @override
    void visitChildren(NodeVisitor visitor) {
      // TODO(jmesserly): we special case vistors from js_ast.Template, because it
      // doesn't know about MetaLet. Should we integrate directly?
      if (visitor is InterpolatedNodeAnalysis ||
          visitor is InstantiatorGeneratorVisitor) {
        variables.values.forEach((v) => v.accept(visitor));
  
negative.code: /// Because this deals with JS AST nodes, it is not aware of any Dart semantics
  /// around statelessness (such as `final` variables). [variables] should not
  /// be created for these Dart expressions.
  class MetaLet extends Expression {
    /// Creates a temporary to contain the value of [expr]. The temporary can be
    /// used multiple times in the resulting expression. For example:
  