anchor.diff:  
     /// Let variables collected for the given function.
     List<js_ast.TemporaryId> _letVariables;
  +
  +  final _constTable = js_ast.TemporaryId("CT");
  +
  +  // Constant getters used to populate the constant table.
  +  final _constLazyAccessors = List<js_ast.Method>();
  +
  +  /// Tracks the index in [moduleItems] where the const table must be inserted.
  +  /// Required for SDK builds due to internal circular dependencies.
  +  /// E.g., dart.constList depends on JSArray.
  +  int _constTableInsertionIndex = 0;
   
     /// The class that is emitting its base class or mixin references, otherwise
     /// null.
  
positive.code:         node.accept(this);
          if (node is ConstantExpression) {
            var list = node.constant as ListConstant;
            entries.addAll(list.entries.map(_visitConstant));
          } else if (node is ListLiteral) {
            entries.addAll(node.expressions.map(_visitExpression));
          }
  
negative.code:   /// State variables hold the next constant case expression, while labels act
    /// as targets for continue and break.
    final _switchLabelStates = HashMap<Statement, _SwitchLabelState>();
  
    /// Maps Kernel constants to their JS aliases.
    final constAliasCache = HashMap<Constant, js_ast.Expression>();
  
    final Class _jsArrayClass;
    final Class _privateSymbolClass;
  