anchor.diff:    static String cannotBeInlinedReason(KernelToElementMapForBuilding elementMap,
         FunctionEntity function, int maxInliningNodes,
         {bool allowLoops: false, bool enableUserAssertions: null}) {
  -    InlineWeeder visitor = new InlineWeeder(maxInliningNodes, allowLoops);
  +    InlineWeeder visitor =
  +        new InlineWeeder(maxInliningNodes, allowLoops, enableUserAssertions);
       ir.FunctionNode node = getFunctionNode(elementMap, function);
       node.accept(visitor);
       if (function.isConstructor) {
  
positive.code:     }
      // This is last so that [tooDifficult] is always updated.
      if (!registerNode()) return;
    }
  }
  
  
negative.code: 
    final int maxInliningNodes; // `null` for unbounded.
    final bool allowLoops;
    final bool enableUserAssertions;
  
    bool seenReturn = false;
    int nodeCount = 0;
    String tooDifficultReason;
    bool get tooDifficult => tooDifficultReason != null;
  
    InlineWeeder(
        this.maxInliningNodes, this.allowLoops, this.enableUserAssertions);
  
    bool registerNode() {
      if (maxInliningNodes == null) return true;
  