codemaker/Executable_netmaker.mk | 2 codemaker/source/netmaker/netproduce.cxx | 79 +++++++++++++++---------------- 2 files changed, 41 insertions(+), 40 deletions(-)
New commits: commit 35df2783a5a72e482f2752fe9f61925c0b1cf91d Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Thu Jun 26 09:41:28 2025 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Thu Jun 26 11:47:27 2025 +0200 codemaker: use frozen Change-Id: I596d7394031631aa3f3ff30816b2c5e07b18356b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187019 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/codemaker/Executable_netmaker.mk b/codemaker/Executable_netmaker.mk index ce06b76773d7..e6471a35dd0a 100644 --- a/codemaker/Executable_netmaker.mk +++ b/codemaker/Executable_netmaker.mk @@ -9,6 +9,8 @@ $(eval $(call gb_Executable_Executable,netmaker)) +$(eval $(call gb_Executable_use_external,netmaker,frozen)) + $(eval $(call gb_Executable_use_libraries,netmaker,\ salhelper \ sal \ diff --git a/codemaker/source/netmaker/netproduce.cxx b/codemaker/source/netmaker/netproduce.cxx index a8ac33f6d991..ef044c99fb2a 100644 --- a/codemaker/source/netmaker/netproduce.cxx +++ b/codemaker/source/netmaker/netproduce.cxx @@ -18,46 +18,44 @@ #include "netproduce.hxx" #include "csharpfile.hxx" +#include <frozen/bits/defines.h> +#include <frozen/bits/elsa_std.h> +#include <frozen/unordered_set.h> +#include <frozen/unordered_map.h> + namespace { -const std::unordered_set<OString> s_reservedKeywords{ - "abstract"_ostr, "as"_ostr, "base"_ostr, "bool"_ostr, "break"_ostr, - "byte"_ostr, "case"_ostr, "catch"_ostr, "char"_ostr, "checked"_ostr, - "class"_ostr, "const"_ostr, "continue"_ostr, "decimal"_ostr, "default"_ostr, - "delegate"_ostr, "do"_ostr, "double"_ostr, "else"_ostr, "enum"_ostr, - "event"_ostr, "explicit"_ostr, "extern"_ostr, "false"_ostr, "finally"_ostr, - "fixed"_ostr, "float"_ostr, "for"_ostr, "foreach"_ostr, "goto"_ostr, - "if"_ostr, "implicit"_ostr, "in"_ostr, "int"_ostr, "interface"_ostr, - "internal"_ostr, "is"_ostr, "lock"_ostr, "long"_ostr, "namespace"_ostr, - "new"_ostr, "null"_ostr, "object"_ostr, "operator"_ostr, "out"_ostr, - "override"_ostr, "params"_ostr, "private"_ostr, "protected"_ostr, "public"_ostr, - "readonly"_ostr, "ref"_ostr, "return"_ostr, "sbyte"_ostr, "sealed"_ostr, - "short"_ostr, "sizeof"_ostr, "stackalloc"_ostr, "static"_ostr, "string"_ostr, - "struct"_ostr, "switch"_ostr, "this"_ostr, "throw"_ostr, "true"_ostr, - "try"_ostr, "typeof"_ostr, "uint"_ostr, "ulong"_ostr, "unchecked"_ostr, - "unsafe"_ostr, "ushort"_ostr, "using"_ostr, "virtual"_ostr, "void"_ostr, - "volatile"_ostr, "while"_ostr, -}; - -const std::unordered_map<OString, OString> s_baseTypes{ - { "boolean"_ostr, "bool"_ostr }, - { "char"_ostr, "char"_ostr }, - { "byte"_ostr, "sbyte"_ostr }, - { "short"_ostr, "short"_ostr }, - { "unsigned short"_ostr, "ushort"_ostr }, - { "long"_ostr, "int"_ostr }, - { "unsigned long"_ostr, "uint"_ostr }, - { "hyper"_ostr, "long"_ostr }, - { "unsigned hyper"_ostr, "ulong"_ostr }, - { "float"_ostr, "float"_ostr }, - { "double"_ostr, "double"_ostr }, - { "string"_ostr, "string"_ostr }, - { "void"_ostr, "void"_ostr }, - { "type"_ostr, "System.Type"_ostr }, - { "any"_ostr, "com.sun.star.uno.Any"_ostr }, - { "com.sun.star.uno.Exception"_ostr, "com.sun.star.uno.UnoException"_ostr }, - { "com.sun.star.uno.XInterface"_ostr, "com.sun.star.uno.IQueryInterface"_ostr }, -}; +constexpr auto s_reservedKeywords = frozen::make_unordered_set<std::string_view>( + { "abstract", "as", "base", "bool", "break", "byte", "case", + "catch", "char", "checked", "class", "const", "continue", "decimal", + "default", "delegate", "do", "double", "else", "enum", "event", + "explicit", "extern", "false", "finally", "fixed", "float", "for", + "foreach", "goto", "if", "implicit", "in", "int", "interface", + "internal", "is", "lock", "long", "namespace", "new", "null", + "object", "operator", "out", "override", "params", "private", "protected", + "public", "readonly", "ref", "return", "sbyte", "sealed", "short", + "sizeof", "stackalloc", "static", "string", "struct", "switch", "this", + "throw", "true", "try", "typeof", "uint", "ulong", "unchecked", + "unsafe", "ushort", "using", "virtual", "void", "volatile", "while" }); + +const auto s_baseTypes = frozen::make_unordered_map<std::string_view, OString>( + { { "boolean", "bool"_ostr }, + { "char", "char"_ostr }, + { "byte", "sbyte"_ostr }, + { "short", "short"_ostr }, + { "unsigned short", "ushort"_ostr }, + { "long", "int"_ostr }, + { "unsigned long", "uint"_ostr }, + { "hyper", "long"_ostr }, + { "unsigned hyper", "ulong"_ostr }, + { "float", "float"_ostr }, + { "double", "double"_ostr }, + { "string", "string"_ostr }, + { "void", "void"_ostr }, + { "type", "System.Type"_ostr }, + { "any", "com.sun.star.uno.Any"_ostr }, + { "com.sun.star.uno.Exception", "com.sun.star.uno.UnoException"_ostr }, + { "com.sun.star.uno.XInterface", "com.sun.star.uno.IQueryInterface"_ostr } }); std::tuple<bool, std::string_view, std::string_view> splitName(std::string_view name) { @@ -1228,8 +1226,9 @@ OString NetProducer::getNetName(std::string_view name) // if this is changed later, move this part out of the else block fullName = OString(fullNameView); OString baseName = getBaseUnoName(fullName); - if (s_baseTypes.contains(baseName)) - buffer.append(fullName.replaceFirst(baseName, s_baseTypes.at(baseName))); + const auto iter = s_baseTypes.find(baseName); + if (iter != s_baseTypes.end()) + buffer.append(fullName.replaceFirst(baseName, iter->second)); else buffer.append(fullName); }