示例#1
0
 public virtual FunctionMemberBase RewriteFunctionMemberBase(FunctionMemberBase fn)
 {
     if (fn is FunctionDeclarationMember)
     {
         return(RewriteFunctionDeclarationMember((FunctionDeclarationMember)fn));
     }
     else if (fn is FunctionMember)
     {
         return(RewriteFunctionMember((FunctionMember)fn));
     }
     else
     {
         throw NonVisitable(fn, "function member {0}");
     }
 }
示例#2
0
 public virtual void Visit(FunctionMemberBase fn)
 {
     if (fn is FunctionDeclarationMember)
     {
         VisitFunctionDeclarationMember((FunctionDeclarationMember)fn);
     }
     else if (fn is FunctionMember)
     {
         VisitFunctionMember((FunctionMember)fn);
     }
     else
     {
         NonVisitable(fn, "function member {0}");
     }
 }
示例#3
0
        public virtual void VisitFunctionMemberBase(FunctionMemberBase fn)
        {
            VisitAccessibility(fn.Accessibility);
            if (fn.IsGeneric)
            {
                foreach (var item in fn.GenericParameters.ToArray())
                {
                    VisitGenericParameter(item);
                }
            }
            foreach (var item in fn.Parameters.ToArray())
            {
                VisitFunctionParameter(item);
            }

            if (fn.ResultType != null)
            {
                VisitTypeReference(fn.ResultType);
            }
        }