public bool ExistsImplicitEnumerationConversion(BaseScripter scripter, int id1, int id2)
 {
     int typeId = scripter.symbol_table[id1].TypeId;
     ClassObject classObject = scripter.GetClassObject(typeId);
     string name = scripter.symbol_table[id2].Name;
     return (classObject.IsEnum && (name == "0"));
 }
 public bool ExistsImplicitReferenceConversion(BaseScripter scripter, int id1, int id2)
 {
     int typeId = scripter.symbol_table[id1].TypeId;
     int id = scripter.symbol_table[id2].TypeId;
     ClassObject classObject = scripter.GetClassObject(typeId);
     ClassObject obj3 = scripter.GetClassObject(id);
     return (this.ExistsImplicitReferenceConversion(classObject, obj3) || ((id1 == scripter.symbol_table.NULL_id) && obj3.IsReferenceType));
 }
 public bool ExistsImplicitConversion(BaseScripter scripter, int id1, int id2)
 {
     int typeId = scripter.symbol_table[id1].TypeId;
     int num2 = scripter.symbol_table[id2].TypeId;
     if (typeId == num2)
     {
         return true;
     }
     if (this.ExistsImplicitNumericConstConversion(scripter, id1, id2))
     {
         return true;
     }
     if (this.ExistsImplicitReferenceConversion(scripter, id1, id2))
     {
         return true;
     }
     if (this.ExistsImplicitEnumerationConversion(scripter, id1, id2))
     {
         return true;
     }
     if (this.ExistsImplicitNumericConversion(typeId, num2))
     {
         return true;
     }
     ClassObject classObject = scripter.GetClassObject(typeId);
     ClassObject obj3 = scripter.GetClassObject(num2);
     return this.ExistsImplicitBoxingConversion(classObject, obj3);
 }