public MixinWeaveProcess(TypeDefinition target, AspectDefinition aspect, MixinEffect effect) { _target = target; _aspect = aspect; _effect = effect; _ts = target.Module.GetTypeSystem(); }
public MixinWeaveProcess(ILogger log, IMemberDefinition target, AspectDefinition aspect, MixinEffect effect) { switch (target) { case TypeDefinition td: _target = td; break; case MethodDefinition md: _target = md.DeclaringType; break; case PropertyDefinition pd: _target = pd.DeclaringType; break; case EventDefinition ed: _target = ed.DeclaringType; break; default: log.Log(GeneralRules.UnexpectedCompilerBehaviour, _target, $"Unexpected mixin target '{target.ToString()}'"); break; } _aspect = aspect; _effect = effect; }