internal void method_4()
 {
     if (this.bool_0)
     {
         Logger.LogWarning("Type.Populate1", "populate got called more than once");
     }
     else
     {
         this.bool_0 = true;
         if (this.IsInCoreAssembly)
         {
             this.bfType_0 = this.bfCache_0.method_7(this.typeDefinition_0.BaseType);
             if (this.bfType_0 != null && this.bfType_0.FullName != "System.Object")
             {
                 this.bfType_0.DerivedTypes.method_1(this);
             }
             foreach (TypeReference typeReference_ in this.typeDefinition_0.Interfaces)
             {
                 BfType bfType = this.bfCache_0.method_7(typeReference_);
                 this.typeCollection_0.method_1(bfType);
                 bfType.DerivedTypes.method_1(this);
             }
             foreach (FieldDefinition fieldDef in this.typeDefinition_0.Fields)
             {
                 BfField item = new BfField(this.bfCache_0, fieldDef, this);
                 this.fieldCollection_0.method_1(item);
             }
             foreach (MethodDefinition methodDef in this.typeDefinition_0.Methods)
             {
                 BfMethod bfMethod = new BfMethod(this.bfCache_0, methodDef, this);
                 this.methodCollection_0.method_1(bfMethod);
                 this.bfAssembly_0.method_5().Add(bfMethod.UniqueName, bfMethod);
             }
             foreach (MethodDefinition methodDef in this.typeDefinition_0.Constructors)
             {
                 BfMethod bfMethod = new BfMethod(this.bfCache_0, methodDef, this);
                 this.methodCollection_0.method_1(bfMethod);
                 this.bfAssembly_0.method_5().Add(bfMethod.UniqueName, bfMethod);
             }
             foreach (EventDefinition eventDef in this.typeDefinition_0.Events)
             {
                 BfEvent item2 = new BfEvent(this.bfCache_0, eventDef, this);
                 this.eventCollection_0.method_1(item2);
             }
             this.int_1 = this.typeDefinition_0.GenericParameters.Count;
             this.method_6();
             this.typeCollection_0.ClearHash();
             this.fieldCollection_0.ClearHash();
             this.methodCollection_0.ClearHash();
             this.eventCollection_0.ClearHash();
         }
     }
 }
		internal void method_4()
		{
			if (this.bool_0)
			{
				Logger.LogWarning("Type.Populate1", "populate got called more than once");
			}
			else
			{
				this.bool_0 = true;
				if (this.IsInCoreAssembly)
				{
					this.bfType_0 = this.bfCache_0.method_7(this.typeDefinition_0.BaseType);
					if (this.bfType_0 != null && this.bfType_0.FullName != "System.Object")
					{
						this.bfType_0.DerivedTypes.method_1(this);
					}
					foreach (TypeReference typeReference_ in this.typeDefinition_0.Interfaces)
					{
						BfType bfType = this.bfCache_0.method_7(typeReference_);
						this.typeCollection_0.method_1(bfType);
						bfType.DerivedTypes.method_1(this);
					}
					foreach (FieldDefinition fieldDef in this.typeDefinition_0.Fields)
					{
						BfField item = new BfField(this.bfCache_0, fieldDef, this);
						this.fieldCollection_0.method_1(item);
					}
					foreach (MethodDefinition methodDef in this.typeDefinition_0.Methods)
					{
						BfMethod bfMethod = new BfMethod(this.bfCache_0, methodDef, this);
						this.methodCollection_0.method_1(bfMethod);
						this.bfAssembly_0.method_5().Add(bfMethod.UniqueName, bfMethod);
					}
					foreach (MethodDefinition methodDef in this.typeDefinition_0.Constructors)
					{
						BfMethod bfMethod = new BfMethod(this.bfCache_0, methodDef, this);
						this.methodCollection_0.method_1(bfMethod);
						this.bfAssembly_0.method_5().Add(bfMethod.UniqueName, bfMethod);
					}
					foreach (EventDefinition eventDef in this.typeDefinition_0.Events)
					{
						BfEvent item2 = new BfEvent(this.bfCache_0, eventDef, this);
						this.eventCollection_0.method_1(item2);
					}
					this.int_1 = this.typeDefinition_0.GenericParameters.Count;
					this.method_6();
					this.typeCollection_0.ClearHash();
					this.fieldCollection_0.ClearHash();
					this.methodCollection_0.ClearHash();
					this.eventCollection_0.ClearHash();
				}
			}
		}
		private static double smethod_13(BfEvent bfEvent_0)
		{
			return (double)((BfEvent)bfEvent_0).TypesUsed.Count;
		}
		private static bool smethod_15(BfEvent bfEvent_0)
		{
			return !bfEvent_0.IsInCoreAssembly;
		}