anchor.diff:    /// constant, either return a reference or return its literal expression if it
     /// can be inlined.
     ConstantEmitter(
  -      CompilerOptions options,
  -      ModularNamer _namer,
  +      super.options,
  +      super._namer,
         this._commonElements,
         this._elementEnvironment,
         this._rtiNeed,
  
positive.code:   /// Removes the "+" after the exponential sign, and removes the "." before the
    /// "e". For example `1.23e+5` is changed to `123e3`.
    String _shortenExponentialRepresentation(String numberString) {
      Match match = _exponentialRE.firstMatch(numberString);
      if (match == null) return numberString;
      String sign = match[1];
      String leadingDigits = match[2];
      String fractionDigits = match[4];
      int exponent = int.parse(match[5]);
      if (fractionDigits == null) fractionDigits = '';
      exponent -= fractionDigits.length;
      String result = '${sign}${leadingDigits}${fractionDigits}e${exponent}';
  
negative.code:     // However, since JavaScript engines represent all numbers as doubles, these
      // digits are lost anyway.
      String representation = value.toString();
      String? alternative = null;
      int cutoff = _options.enableMinification ? 10000 : 1e10.toInt();
      if (value.abs() >= BigInt.from(cutoff)) {
        alternative = _shortenExponentialRepresentation(
  