void ProcessChildNode(TypeNode node, MethodReference changedInvokerMethod) { var childEventInvoker = FindEventInvokerMethod(node.TypeDefinition); if (childEventInvoker == null) { if (changedInvokerMethod != null) { if (node.TypeDefinition.BaseType.IsGenericInstance) { var methodReference = MethodGenerifier.MakeGeneric(node.TypeDefinition.BaseType, changedInvokerMethod); changedInvokerMethod = methodReference; } } } else { changedInvokerMethod = childEventInvoker; } node.IsChangedInvoker = changedInvokerMethod; foreach (var childNode in node.Nodes) { ProcessChildNode(childNode, changedInvokerMethod); } }
void ProcessChildNode(TypeNode node, EventInvokerMethod eventInvoker) { var childEventInvoker = FindEventInvokerMethod(node.TypeDefinition); if (childEventInvoker == null) { if (node.TypeDefinition.BaseType.IsGenericInstance) { var methodReference = MethodGenerifier.MakeGeneric(node.TypeDefinition.BaseType, eventInvoker.MethodReference); eventInvoker = new EventInvokerMethod { IsBeforeAfter = eventInvoker.IsBeforeAfter, MethodReference = methodReference, }; } } else { eventInvoker = childEventInvoker; } node.EventInvoker = eventInvoker; foreach (var childNode in node.Nodes) { ProcessChildNode(childNode, eventInvoker); } }
public IsChangedMethodFinder(MethodGenerifier methodGenerifier, Logger logger, MsCoreReferenceFinder msCoreReferenceFinder, TypeNodeBuilder typeNodeBuilder, ModuleReader moduleReader, TypeResolver typeResolver) { this.methodGenerifier = methodGenerifier; this.logger = logger; this.msCoreReferenceFinder = msCoreReferenceFinder; this.typeNodeBuilder = typeNodeBuilder; this.moduleReader = moduleReader; this.typeResolver = typeResolver; }
public IsChangedMethodFinder(MethodGenerifier methodGenerifier, Logger logger, MsCoreReferenceFinder msCoreReferenceFinder, TypeNodeBuilder typeNodeBuilder, ModuleReader moduleReader, TypeResolver typeResolver) { this.methodGenerifier = methodGenerifier; this.logger = logger; this.msCoreReferenceFinder = msCoreReferenceFinder; this.typeNodeBuilder = typeNodeBuilder; this.moduleReader = moduleReader; this.typeResolver = typeResolver; }
public MethodFinder(MethodGenerifier methodGenerifier, MethodInjector methodInjector, TypeNodeBuilder typeNodeBuilder, ModuleReader moduleReader, Logger logger, TypeResolver typeResolver, EventInvokerNameResolver eventInvokerNameResolver) { this.methodGenerifier = methodGenerifier; this.methodInjector = methodInjector; this.typeNodeBuilder = typeNodeBuilder; this.moduleReader = moduleReader; this.logger = logger; this.typeResolver = typeResolver; this.eventInvokerNameResolver = eventInvokerNameResolver; }
public MethodFinder(MethodGenerifier methodGenerifier, MethodInjector methodInjector, TypeNodeBuilder typeNodeBuilder, ModuleReader moduleReader, Logger logger, TypeResolver typeResolver, EventInvokerNameResolver eventInvokerNameResolver) { this.methodGenerifier = methodGenerifier; this.methodInjector = methodInjector; this.typeNodeBuilder = typeNodeBuilder; this.moduleReader = moduleReader; this.logger = logger; this.typeResolver = typeResolver; this.eventInvokerNameResolver = eventInvokerNameResolver; }
public OnChangedWalker(MethodGenerifier methodGenerifier, TypeNodeBuilder typeNodeBuilder) { this.methodGenerifier = methodGenerifier; this.typeNodeBuilder = typeNodeBuilder; }
public OnChangedWalker(MethodGenerifier methodGenerifier, TypeNodeBuilder typeNodeBuilder) { this.methodGenerifier = methodGenerifier; this.typeNodeBuilder = typeNodeBuilder; }