public Authority(TypeDefinition type) { this.m_Type = type.Type("<Puresharp>", TypeAttributes.Class | TypeAttributes.NestedPrivate | TypeAttributes.Sealed | TypeAttributes.Abstract); foreach (var _parameter in type.GenericParameters) { this.m_Type.GenericParameters.Add(_parameter.Copy(this.m_Type)); } foreach (var _method in type.Methods.ToArray()) { if (Bypass.Match(_method)) { continue; } Machine.Manage(_method); } this.m_Authentic = new Authentic(this.m_Type); this.m_Intermediate = new Intermediate(this.m_Type, this.m_Authentic); foreach (var _method in type.Methods.ToArray()) { if (Bypass.Match(_method)) { continue; } this.Manage(type, _method); } }
static private void Manage(TypeDefinition type) { if (Bypass.Match(type)) { return; } new Authority(type); }
public Authentic(TypeDefinition type) { this.m_Type = type.Type("<Authentic>", TypeAttributes.NestedPublic | TypeAttributes.Class | TypeAttributes.Sealed | TypeAttributes.Abstract); foreach (var _parameter in type.GenericParameters) { this.m_Type.GenericParameters.Add(_parameter.Copy(this.m_Type)); } this.m_Dictionary = new Dictionary <MethodDefinition, MethodDefinition>(); foreach (var _method in type.DeclaringType.Methods.ToArray()) { if (Bypass.Match(_method)) { continue; } this.m_Dictionary.Add(_method, this.Manage(_method)); } }