Пример #1
0
            public override INode Visit(IMethod source, IMethod data)
            {
                DomMethod result = CreateInstance(source, data);

                Visit(source, result, data);

                foreach (ITypeParameter tp in source.TypeParameters)
                {
                    if (!typeTable.ContainsKey(tp.Name))
                    {
                        result.AddTypeParameter(Visit(tp, data));
                    }
                }

                result.MethodModifier = source.MethodModifier;
                if (source.Parameters != null)
                {
                    foreach (IParameter parameter in source.Parameters)
                    {
                        result.Add((IParameter)parameter.AcceptVisitor(this, data));
                    }
                }

                return(result);
            }
Пример #2
0
        public virtual INode Visit(IMethod source, T data)
        {
            DomMethod result = CreateInstance(source, data);

            Visit(source, result, data);

            foreach (ITypeParameter tp in source.TypeParameters)
            {
                result.AddTypeParameter(Visit(tp, data));
            }

            result.MethodModifier = source.MethodModifier;
            foreach (IParameter parameter in source.Parameters)
            {
                result.Add((IParameter)parameter.AcceptVisitor(this, data));
            }

            return(result);
        }