修改 toString Function类型打印,加上了名字

This commit is contained in:
2026-02-08 13:15:03 +08:00
parent e1c765aade
commit 764c4269a5

View File

@@ -437,8 +437,10 @@ namespace Fig
if (is<ValueType::StringClass>()) return FString(u8"\"" + as<ValueType::StringClass>() + u8"\""); if (is<ValueType::StringClass>()) return FString(u8"\"" + as<ValueType::StringClass>() + u8"\"");
if (is<ValueType::BoolClass>()) return as<ValueType::BoolClass>() ? FString(u8"true") : FString(u8"false"); if (is<ValueType::BoolClass>()) return as<ValueType::BoolClass>() ? FString(u8"true") : FString(u8"false");
if (is<Function>()) if (is<Function>())
return FString(std::format( return FString(std::format("<Function '{}'({}) at {:p}>",
"<Function '{}' at {:p}>", as<Function>().id, static_cast<const void *>(&as<Function>()))); as<Function>().name.toBasicString(),
as<Function>().id,
static_cast<const void *>(&as<Function>())));
if (is<StructType>()) if (is<StructType>())
return FString(std::format("<StructType '{}' at {:p}>", return FString(std::format("<StructType '{}' at {:p}>",
as<StructType>().type.toString().toBasicString(), as<StructType>().type.toString().toBasicString(),
@@ -651,7 +653,8 @@ namespace Fig
} }
// comparison // comparison
friend bool operator==(const Object &lhs, const Object &rhs) { friend bool operator==(const Object &lhs, const Object &rhs)
{
if (lhs.isNumeric() && rhs.isNumeric()) if (lhs.isNumeric() && rhs.isNumeric())
{ {
return nearlyEqual(lhs.getNumericValue(), rhs.getNumericValue()); return nearlyEqual(lhs.getNumericValue(), rhs.getNumericValue());