public static void AcceptVisitor <TResult> ( this FieldDefinition fieldDefinition, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitFieldDefinition(fieldDefinition))) { return; } if (fieldDefinition.HasCustomAttributes) { fieldDefinition.CustomAttributes.AcceptVisitor(visitor); } fieldDefinition.FieldType.AcceptVisitor(visitor); }
public static void AcceptVisitor <TResult> ( this InterfaceImplementation interfaceImplementation, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitInterfaceImplementation(interfaceImplementation))) { return; } if (interfaceImplementation.HasCustomAttributes) { interfaceImplementation.CustomAttributes.AcceptVisitor(visitor); } interfaceImplementation.InterfaceType.AcceptVisitor(visitor); }
public static void AcceptVisitor <TResult> ( this ModuleDefinition moduleDefinition, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitModuleDefinition(moduleDefinition))) { return; } if (moduleDefinition.HasCustomAttributes) { moduleDefinition.CustomAttributes.AcceptVisitor(visitor); } foreach (var type in moduleDefinition.Types) { type.AcceptVisitor(visitor); } }
public static void AcceptVisitor <TResult> ( this GenericParameter genericParameter, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitGenericParameter(genericParameter))) { return; } genericParameter.GetElementType().AcceptVisitor(visitor); if (genericParameter.HasConstraints) { foreach (var constraintType in genericParameter.Constraints) { constraintType.AcceptVisitor(visitor); } } }
public static void AcceptVisitor <TResult> ( this EventDefinition eventDefinition, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitEventDefinition(eventDefinition))) { return; } if (eventDefinition.HasCustomAttributes) { eventDefinition.CustomAttributes.AcceptVisitor(visitor); } eventDefinition.EventType.AcceptVisitor(visitor); eventDefinition.AddMethod?.AcceptVisitor(visitor); eventDefinition.RemoveMethod?.AcceptVisitor(visitor); eventDefinition.InvokeMethod?.AcceptVisitor(visitor); }
public static void AcceptVisitor <TResult> ( this AssemblyDefinition assemblyDefinition, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitAssemblyDefinition(assemblyDefinition))) { return; } if (assemblyDefinition.HasCustomAttributes) { assemblyDefinition.CustomAttributes.AcceptVisitor(visitor); } foreach (var module in assemblyDefinition.Modules) { module.AcceptVisitor(visitor); } }
public static void AcceptVisitor <TResult> ( this PropertyReference propertyReference, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitPropertyReference(propertyReference))) { return; } var parameters = propertyReference.Parameters; if (parameters != null) { foreach (var parameter in parameters) { parameter.AcceptVisitor(visitor); } } propertyReference.PropertyType.AcceptVisitor(visitor); propertyReference.DeclaringType.AcceptVisitor(visitor); }
static void DynamicAccept <TResult> ( object target, MetadataVisitor <TResult> visitor) { switch (target) { case TypeReference typeReference: typeReference.AcceptVisitor(visitor); break; case FieldReference fieldReference: fieldReference.AcceptVisitor(visitor); break; case MethodReference methodReference: methodReference.AcceptVisitor(visitor); break; case VariableDefinition variableDefinition: variableDefinition.VariableType.AcceptVisitor(visitor); break; } }
public static void AcceptVisitor <TResult> ( this CustomAttribute customAttribute, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitCustomAttribute(customAttribute))) { return; } customAttribute.AttributeType.AcceptVisitor(visitor); customAttribute.Constructor.AcceptVisitor(visitor); if (customAttribute.HasConstructorArguments) { foreach (var argument in customAttribute.ConstructorArguments) { argument.AcceptVisitor(visitor); } } if (customAttribute.HasFields) { foreach (var field in customAttribute.Fields) { field.AcceptVisitor(visitor); } } if (customAttribute.HasProperties) { foreach (var property in customAttribute.Properties) { property.AcceptVisitor(visitor); } } }
public static void AcceptVisitor <TResult> ( this TypeDefinition typeDefinition, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitTypeDefinition(typeDefinition))) { return; } typeDefinition.BaseType?.AcceptVisitor(visitor); if (typeDefinition.HasCustomAttributes) { typeDefinition.CustomAttributes.AcceptVisitor(visitor); } if (typeDefinition.HasGenericParameters) { typeDefinition.GenericParameters.AcceptVisitor(visitor); } if (typeDefinition.HasInterfaces) { foreach (var iface in typeDefinition.Interfaces) { iface.AcceptVisitor(visitor); } } if (typeDefinition.HasNestedTypes) { foreach (var nestedType in typeDefinition.NestedTypes) { nestedType.AcceptVisitor(visitor); } } if (typeDefinition.HasFields) { foreach (var field in typeDefinition.Fields) { field.AcceptVisitor(visitor); } } if (typeDefinition.HasProperties) { foreach (var property in typeDefinition.Properties) { property.AcceptVisitor(visitor); } } if (typeDefinition.HasEvents) { foreach (var @event in typeDefinition.Events) { @event.AcceptVisitor(visitor); } } if (typeDefinition.HasMethods) { foreach (var method in typeDefinition.Methods) { method.AcceptVisitor(visitor); } } }