尝试UTF32String
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
#include <Ast/Expressions/VarExpr.hpp>
|
||||
|
||||
#include <Ast/functionParameters.hpp>
|
||||
#include <Core/fig_string.hpp>
|
||||
#include <Core/String.hpp>
|
||||
#include <Evaluator/Value/value.hpp>
|
||||
#include <Core/runtimeTime.hpp>
|
||||
|
||||
@@ -34,39 +34,39 @@ namespace Fig
|
||||
{
|
||||
add(..., ...) -> ...;
|
||||
}
|
||||
|
||||
|
||||
*/
|
||||
|
||||
const TypeInfo &getOperationInterfaceTypeInfo();
|
||||
|
||||
const std::unordered_map<FString, ObjectPtr> &getBuiltinValues();
|
||||
const std::unordered_map<String, ObjectPtr> &getBuiltinValues();
|
||||
|
||||
using BuiltinFunction = std::function<ObjectPtr(const std::vector<ObjectPtr> &)>;
|
||||
|
||||
const std::unordered_map<FString, int> &getBuiltinFunctionArgCounts();
|
||||
const std::unordered_map<FString, BuiltinFunction> &getBuiltinFunctions();
|
||||
const std::unordered_map<String, int> &getBuiltinFunctionArgCounts();
|
||||
const std::unordered_map<String, BuiltinFunction> &getBuiltinFunctions();
|
||||
|
||||
inline bool isBuiltinFunction(const FString &name)
|
||||
inline bool isBuiltinFunction(const String &name)
|
||||
{
|
||||
return getBuiltinFunctions().find(name) != getBuiltinFunctions().end();
|
||||
}
|
||||
|
||||
inline BuiltinFunction getBuiltinFunction(const FString &name)
|
||||
inline BuiltinFunction getBuiltinFunction(const String &name)
|
||||
{
|
||||
auto it = getBuiltinFunctions().find(name);
|
||||
if (it == getBuiltinFunctions().end())
|
||||
{
|
||||
throw RuntimeError(FString(std::format("Builtin function '{}' not found", name.toBasicString())));
|
||||
throw RuntimeError(String(std::format("Builtin function '{}' not found", name.toBasicString())));
|
||||
}
|
||||
return it->second;
|
||||
}
|
||||
|
||||
inline int getBuiltinFunctionParamCount(const FString &name)
|
||||
inline int getBuiltinFunctionParamCount(const String &name)
|
||||
{
|
||||
auto it = getBuiltinFunctionArgCounts().find(name);
|
||||
if (it == getBuiltinFunctionArgCounts().end())
|
||||
{
|
||||
throw RuntimeError(FString(std::format("Builtin function '{}' not found", name.toBasicString())));
|
||||
throw RuntimeError(String(std::format("Builtin function '{}' not found", name.toBasicString())));
|
||||
}
|
||||
return it->second;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user