anchor.diff:     */
     @override
     void visitIsExpression(IsExpression node) {
  -    _recordStaticType(node, _nonNullable(_typeProvider.boolType));
  +    recordStaticType(node, _nonNullable(_typeProvider.boolType));
     }
   
     @override
  
positive.code:    */
    @override
    void visitAsExpression(AsExpression node) {
      _recordStaticType(node, _getType(node.type));
    }
  
    /**
  
negative.code:   }
  
    /**
     * Record that the static type of the given node is the given type.
     *
     * @param expression the node whose type is to be recorded
     * @param type the static type of the node
     */
    void recordStaticType(Expression expression, DartType type) {
      if (_migrationResolutionHooks != null) {
        type = _migrationResolutionHooks.modifyExpressionType(
            expression, type ?? _dynamicType);
      }
  
      if (type == null) {
        expression.staticType = _dynamicType;
      } else {
        expression.staticType = type;
        if (identical(type, NeverTypeImpl.instance)) {
          _flowAnalysis?.flow?.handleExit();
        }
      }
    }
  
    /**
     * The Dart Language Specification, 12.5: <blockquote>The static type of a string literal is
     * `String`.</blockquote>
     */
    @override
    void visitAdjacentStrings(AdjacentStrings node) {
      recordStaticType(node, _nonNullable(_typeProvider.stringType));
    }
  
    /**
  