public override BoundNode?VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
        {
            var rewrittenExpression = VisitExpression(node.InvokedExpression);
            var rewrittenArgs       = VisitList(node.Arguments);

            MethodSymbol functionPointer     = node.FunctionPointer.Signature;
            var          argumentRefKindsOpt = node.ArgumentRefKindsOpt;

            rewrittenArgs = MakeArguments(
                node.Syntax,
                rewrittenArgs,
                functionPointer,
                expanded: false,
                argsToParamsOpt: default,
Example #2
0
        public override BoundNode?VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
        {
            var rewrittenExpression = VisitExpression(node.InvokedExpression);

            // There are target types so we can have handler conversions, but there are no attributes so contexts cannot
            // be involved.
            AssertNoImplicitInterpolatedStringHandlerConversions(node.Arguments, allowConversionsWithNoContext: true);
            MethodSymbol    functionPointer     = node.FunctionPointer.Signature;
            var             argumentRefKindsOpt = node.ArgumentRefKindsOpt;
            BoundExpression?discardedReceiver   = null;
            var             rewrittenArgs       = VisitArguments(
                node.Arguments,
                functionPointer,
                argsToParamsOpt: default,