protected virtual void Visit(MethodReference methodReference, Context context) { VisitTypeReference(methodReference.ReturnType, context.ReturnType(methodReference)); VisitTypeReference(methodReference.DeclaringType, context.DeclaringType(methodReference)); foreach (var genericParameter in methodReference.GenericParameters) { VisitTypeReference(genericParameter, context.GenericParameter(methodReference)); } foreach (var parameterDefinition in methodReference.Parameters) { Visit(parameterDefinition, context.Parameter(methodReference)); } var genericInstanceMethod = methodReference as GenericInstanceMethod; if (genericInstanceMethod == null) { return; } foreach (var genericArgument in genericInstanceMethod.GenericArguments) { VisitTypeReference(genericArgument, context.GenericArgument(genericInstanceMethod)); } }
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)); }
protected override void Visit(MethodDefinition methodDefinition, Unity.Cecil.Visitor.Context context) { if ((!methodDefinition.HasGenericParameters || ((this._genericContext.Method != null) && (this._genericContext.Method.Resolve() == methodDefinition))) && !GenericsUtilities.CheckForMaximumRecursion(this._genericContext.Type)) { base.VisitTypeReference(methodDefinition.ReturnType, context.ReturnType(methodDefinition)); foreach (ParameterDefinition definition in methodDefinition.Parameters) { this.Visit(definition, context.Parameter(methodDefinition)); } } }
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)); } }
protected virtual void Visit(MethodReference methodReference, Context context) { this.VisitTypeReference(methodReference.ReturnType, context.ReturnType(methodReference)); this.VisitTypeReference(methodReference.DeclaringType, context.DeclaringType(methodReference)); foreach (GenericParameter parameter in methodReference.GenericParameters) { this.VisitTypeReference(parameter, context.GenericParameter(methodReference)); } foreach (ParameterDefinition definition in methodReference.Parameters) { this.Visit(definition, context.Parameter(methodReference)); } GenericInstanceMethod data = methodReference as GenericInstanceMethod; if (data != null) { foreach (TypeReference reference in data.GenericArguments) { this.VisitTypeReference(reference, context.GenericArgument(data)); } } }