Type assertion and initialization
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user