anchor.diff:    }
   
     @override
  -  js_ast.Expression visitTearOffConstant(TearOffConstant node) =>
  -      _emitStaticGet(node.procedure);
  +  js_ast.Expression visitTearOffConstant(TearOffConstant node) {
  +    _declareBeforeUse(node.procedure.enclosingClass);
  +    return _emitStaticGet(node.procedure);
  +  }
   
     @override
     js_ast.Expression visitTypeLiteralConstant(TypeLiteralConstant node) =>
  
positive.code:     if (isFromEnvironmentInvocation(_coreTypes, node)) {
        var value = _constants.evaluate(node);
        if (value is PrimitiveConstant) {
          return value.accept(this) as js_ast.Expression;
        }
      }
  
  
negative.code: 
    js_ast.Expression _visitExpression(Expression e) {
      if (e == null) return null;
      if (e is ConstantExpression) {
        return visitConstant(e.constant);
      }
      var result = e.accept(this) as js_ast.Expression;
      result.sourceInformation ??= _nodeStart(e);
      return result;
  