Example #1
0
 public virtual void VisitGlobalFunctionCall(BoundGlobalFunctionCall x)
 {
     VisitRoutineCall(x);
 }
Example #2
0
 public virtual TResult VisitGlobalFunctionCall(BoundGlobalFunctionCall x) => VisitRoutineCall(x);
Example #3
0
 public virtual void VisitGlobalFunctionCall(BoundGlobalFunctionCall x)
 {
     VisitRoutineCall(x);
 }
Example #4
0
        public override void VisitGlobalFunctionCall(BoundGlobalFunctionCall x)
        {
            Accept(x.Name.NameExpression);

            VisitRoutineCall(x);

            if (x.Name.IsDirect)
            {
                var candidates = _model.ResolveFunction(x.Name.NameValue).Cast<MethodSymbol>().ToArray();
                if (candidates.Length == 0 && x.NameOpt.HasValue)
                {
                    candidates = _model.ResolveFunction(x.NameOpt.Value).Cast<MethodSymbol>().ToArray();
                }

                var args = x.ArgumentsInSourceOrder.Select(a => a.Value.TypeRefMask).ToArray();
                x.TargetMethod = new OverloadsList(candidates).Resolve(this.TypeCtx, args, null);
            }

            VisitRoutineCallEpilogue(x);
        }