コード例 #1
0
ファイル: Visitor.cs プロジェクト: maikahj/NSubstitute
        protected virtual void Visit(MethodDefinition methodDefinition, Context context)
        {
            VisitTypeReference(methodDefinition.ReturnType, context.ReturnType(methodDefinition));

            foreach (var customAttribute in methodDefinition.CustomAttributes)
            {
                Visit(customAttribute, context.Attribute(methodDefinition));
            }

            foreach (var genericParameter in methodDefinition.GenericParameters)
            {
                Visit(genericParameter, context.GenericParameter(methodDefinition));
            }

            foreach (var parameterDefinition in methodDefinition.Parameters)
            {
                Visit(parameterDefinition, context.Parameter(methodDefinition));
            }

            if (!methodDefinition.HasBody)
            {
                return;
            }

            Visit(methodDefinition.Body, context.MethodBody(methodDefinition));
        }
コード例 #2
0
 protected virtual void Visit(InterfaceImplementation interfaceImpl, Context context)
 {
     this.VisitTypeReference(interfaceImpl.InterfaceType, context.InterfaceType(interfaceImpl));
     foreach (Mono.Cecil.CustomAttribute attribute in interfaceImpl.CustomAttributes)
     {
         this.Visit(attribute, context.Attribute(interfaceImpl));
     }
 }
コード例 #3
0
 protected virtual void Visit(FieldDefinition fieldDefinition, Context context)
 {
     this.VisitTypeReference(fieldDefinition.FieldType, context.ReturnType(fieldDefinition));
     foreach (Mono.Cecil.CustomAttribute attribute in fieldDefinition.CustomAttributes)
     {
         this.Visit(attribute, context.Attribute(fieldDefinition));
     }
 }
コード例 #4
0
ファイル: Visitor.cs プロジェクト: maikahj/NSubstitute
        protected virtual void Visit(FieldDefinition fieldDefinition, Context context)
        {
            VisitTypeReference(fieldDefinition.FieldType, context.ReturnType(fieldDefinition));

            foreach (var customAttribute in fieldDefinition.CustomAttributes)
            {
                Visit(customAttribute, context.Attribute(fieldDefinition));
            }
        }
コード例 #5
0
 protected virtual void Visit(EventDefinition eventDefinition, Context context)
 {
     this.VisitTypeReference(eventDefinition.EventType, context.ReturnType(eventDefinition));
     foreach (Mono.Cecil.CustomAttribute attribute in eventDefinition.CustomAttributes)
     {
         this.Visit(attribute, context.Attribute(eventDefinition));
     }
     this.Visit(eventDefinition.AddMethod, context.EventAdder(eventDefinition));
     this.Visit(eventDefinition.RemoveMethod, context.EventRemover(eventDefinition));
 }
コード例 #6
0
ファイル: Visitor.cs プロジェクト: maikahj/NSubstitute
        protected virtual void Visit(EventDefinition eventDefinition, Context context)
        {
            VisitTypeReference(eventDefinition.EventType, context.ReturnType(eventDefinition));

            foreach (var customAttribute in eventDefinition.CustomAttributes)
            {
                Visit(customAttribute, context.Attribute(eventDefinition));
            }

            Visit(eventDefinition.AddMethod, context.EventAdder(eventDefinition));

            Visit(eventDefinition.RemoveMethod, context.EventRemover(eventDefinition));
        }
コード例 #7
0
 protected virtual void Visit(PropertyDefinition propertyDefinition, Context context)
 {
     this.VisitTypeReference(propertyDefinition.PropertyType, context.ReturnType(propertyDefinition));
     foreach (Mono.Cecil.CustomAttribute attribute in propertyDefinition.CustomAttributes)
     {
         this.Visit(attribute, context.Attribute(propertyDefinition));
     }
     if (propertyDefinition.GetMethod != null)
     {
         this.Visit(propertyDefinition.GetMethod, context.Getter(propertyDefinition));
     }
     if (propertyDefinition.SetMethod != null)
     {
         this.Visit(propertyDefinition.SetMethod, context.Setter(propertyDefinition));
     }
 }
コード例 #8
0
ファイル: Visitor.cs プロジェクト: maikahj/NSubstitute
        protected virtual void Visit(TypeDefinition typeDefinition, Context context)
        {
            if (typeDefinition.BaseType != null)
            {
                VisitTypeReference(typeDefinition.BaseType, context.BaseType(typeDefinition));
            }

            foreach (var customAttribute in typeDefinition.CustomAttributes)
            {
                Visit(customAttribute, context.Attribute(typeDefinition));
            }

            foreach (var typeReference in typeDefinition.Interfaces)
            {
                VisitTypeReference(typeReference, context.Interface(typeDefinition));
            }

            foreach (var genericParameter in typeDefinition.GenericParameters)
            {
                Visit(genericParameter, context.GenericParameter(context));
            }

            foreach (var propertyDefinition in typeDefinition.Properties)
            {
                Visit(propertyDefinition, context.Member(typeDefinition));
            }

            foreach (var fieldDefinition in typeDefinition.Fields)
            {
                Visit(fieldDefinition, context.Member(typeDefinition));
            }

            foreach (var eventDefinition in typeDefinition.Events)
            {
                Visit(eventDefinition, context.Member(typeDefinition));
            }

            foreach (var methodDefinition in typeDefinition.Methods)
            {
                Visit(methodDefinition, context.Member(typeDefinition));
            }

            foreach (var nestedType in typeDefinition.NestedTypes)
            {
                Visit(nestedType, context.NestedType(typeDefinition));
            }
        }
コード例 #9
0
 protected virtual void Visit(MethodDefinition methodDefinition, Context context)
 {
     this.VisitTypeReference(methodDefinition.ReturnType, context.ReturnType(methodDefinition));
     foreach (Mono.Cecil.CustomAttribute attribute in methodDefinition.CustomAttributes)
     {
         this.Visit(attribute, context.Attribute(methodDefinition));
     }
     foreach (GenericParameter parameter in methodDefinition.GenericParameters)
     {
         this.Visit(parameter, context.GenericParameter(methodDefinition));
     }
     foreach (ParameterDefinition definition in methodDefinition.Parameters)
     {
         this.Visit(definition, context.Parameter(methodDefinition));
     }
     if (methodDefinition.HasBody)
     {
         this.Visit(methodDefinition.Body, context.MethodBody(methodDefinition));
     }
 }
コード例 #10
0
 protected virtual void Visit(TypeDefinition typeDefinition, Context context)
 {
     if (typeDefinition.BaseType != null)
     {
         this.VisitTypeReference(typeDefinition.BaseType, context.BaseType(typeDefinition));
     }
     foreach (Mono.Cecil.CustomAttribute attribute in typeDefinition.CustomAttributes)
     {
         this.Visit(attribute, context.Attribute(typeDefinition));
     }
     foreach (InterfaceImplementation implementation in typeDefinition.Interfaces)
     {
         this.Visit(implementation, context.Interface(typeDefinition));
     }
     foreach (GenericParameter parameter in typeDefinition.GenericParameters)
     {
         this.Visit(parameter, context.GenericParameter(context));
     }
     foreach (PropertyDefinition definition in typeDefinition.Properties)
     {
         this.Visit(definition, context.Member(typeDefinition));
     }
     foreach (FieldDefinition definition2 in typeDefinition.Fields)
     {
         this.Visit(definition2, context.Member(typeDefinition));
     }
     foreach (MethodDefinition definition3 in typeDefinition.Methods)
     {
         this.Visit(definition3, context.Member(typeDefinition));
     }
     foreach (EventDefinition definition4 in typeDefinition.Events)
     {
         this.Visit(definition4, context.Member(typeDefinition));
     }
     foreach (TypeDefinition definition5 in typeDefinition.NestedTypes)
     {
         this.Visit(definition5, context.NestedType(typeDefinition));
     }
 }