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); }