Type assertion and initialization

This commit is contained in:
2025-10-04 20:57:16 +10:00
parent 0057d73215
commit b628c00f9e
7 changed files with 94 additions and 10 deletions

View File

@@ -17,6 +17,20 @@ Value evaluate(Value val) {
return (*it)[val.string_val];
}
}
} else if (val.valtype == ValueType::TypePlaceholder) {
if (val.type_placeholder_name == "String") {
return Value("");
} else if (val.type_placeholder_name == "List") {
return Value(std::vector<Value>());
} else if (val.type_placeholder_name == "Int") {
return Value((long long)0);
} else if (val.type_placeholder_name == "Double") {
return Value((double)0.0);
} else if (val.type_placeholder_name == "Bool") {
return Value("false");
} else if (val.type_placeholder_name == "Any") {
return Value(""); // Default for Any is an empty string
}
}
return val;
}
}