// // Creates a nested container in this context for all dynamic compiler generated stuff // internal DynamicSiteClass CreateDynamicSite() { if (dynamic_site_container == null) { var mc = member_context.CurrentMemberDefinition as MemberBase; dynamic_site_container = new DynamicSiteClass(CurrentTypeDefinition.Parent.PartialContainer, mc, member_context.CurrentTypeParameters); CurrentTypeDefinition.Module.AddCompilerGeneratedClass(dynamic_site_container); dynamic_site_container.CreateContainer(); dynamic_site_container.DefineContainer(); dynamic_site_container.Define(); var inflator = new TypeParameterInflator(Module, CurrentType, TypeParameterSpec.EmptyTypes, TypeSpec.EmptyTypes); var inflated = dynamic_site_container.CurrentType.InflateMember(inflator); CurrentType.MemberCache.AddMember(inflated); } return(dynamic_site_container); }
// // Creates a nested container in this context for all dynamic compiler generated stuff // internal DynamicSiteClass CreateDynamicSite () { if (dynamic_site_container == null) { var mc = member_context.CurrentMemberDefinition as MemberBase; dynamic_site_container = new DynamicSiteClass (CurrentTypeDefinition.Parent.PartialContainer, mc, member_context.CurrentTypeParameters); CurrentTypeDefinition.Module.AddCompilerGeneratedClass (dynamic_site_container); dynamic_site_container.CreateContainer (); dynamic_site_container.DefineContainer (); dynamic_site_container.Define (); var inflator = new TypeParameterInflator (Module, CurrentType, TypeParameterSpec.EmptyTypes, TypeSpec.EmptyTypes); var inflated = dynamic_site_container.CurrentType.InflateMember (inflator); CurrentType.MemberCache.AddMember (inflated); } return dynamic_site_container; }