mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 15:37:46 +00:00
Everywhere: Pass AK::Format TypeErasedFormatParams by reference
This silences a overeager warning in sonar cloud, warning that slicing could occur with `VariadicFormatParams` which derives from `TypeErasedFormatParams`. Reference: https://sonarcloud.io/project/issues?id=SerenityOS_serenity&issues=AXuVPBO_k92xXUF3qWsm&open=AXuVPBO_k92xXUF3qWsm
This commit is contained in:
parent
11832544e5
commit
f0b3aa0331
5 changed files with 39 additions and 23 deletions
36
AK/Format.h
36
AK/Format.h
|
@ -466,16 +466,24 @@ struct Formatter<std::nullptr_t> : Formatter<FlatPtr> {
|
|||
}
|
||||
};
|
||||
|
||||
void vformat(StringBuilder&, StringView fmtstr, TypeErasedFormatParams);
|
||||
void vformat(StringBuilder&, StringView fmtstr, TypeErasedFormatParams&);
|
||||
|
||||
#ifndef KERNEL
|
||||
void vout(FILE*, StringView fmtstr, TypeErasedFormatParams, bool newline = false);
|
||||
void vout(FILE*, StringView fmtstr, TypeErasedFormatParams&, bool newline = false);
|
||||
|
||||
template<typename... Parameters>
|
||||
void out(FILE* file, CheckedFormatString<Parameters...>&& fmtstr, const Parameters&... parameters) { vout(file, fmtstr.view(), VariadicFormatParams { parameters... }); }
|
||||
void out(FILE* file, CheckedFormatString<Parameters...>&& fmtstr, const Parameters&... parameters)
|
||||
{
|
||||
VariadicFormatParams variadic_format_params { parameters... };
|
||||
vout(file, fmtstr.view(), variadic_format_params);
|
||||
}
|
||||
|
||||
template<typename... Parameters>
|
||||
void outln(FILE* file, CheckedFormatString<Parameters...>&& fmtstr, const Parameters&... parameters) { vout(file, fmtstr.view(), VariadicFormatParams { parameters... }, true); }
|
||||
void outln(FILE* file, CheckedFormatString<Parameters...>&& fmtstr, const Parameters&... parameters)
|
||||
{
|
||||
VariadicFormatParams variadic_format_params { parameters... };
|
||||
vout(file, fmtstr.view(), variadic_format_params, true);
|
||||
}
|
||||
|
||||
inline void outln(FILE* file) { fputc('\n', file); }
|
||||
|
||||
|
@ -512,12 +520,13 @@ inline void warnln() { outln(stderr); }
|
|||
|
||||
#endif
|
||||
|
||||
void vdbgln(StringView fmtstr, TypeErasedFormatParams);
|
||||
void vdbgln(StringView fmtstr, TypeErasedFormatParams&);
|
||||
|
||||
template<typename... Parameters>
|
||||
void dbgln(CheckedFormatString<Parameters...>&& fmtstr, const Parameters&... parameters)
|
||||
{
|
||||
vdbgln(fmtstr.view(), VariadicFormatParams { parameters... });
|
||||
VariadicFormatParams variadic_format_params { parameters... };
|
||||
vdbgln(fmtstr.view(), variadic_format_params);
|
||||
}
|
||||
|
||||
inline void dbgln() { dbgln(""); }
|
||||
|
@ -525,22 +534,24 @@ inline void dbgln() { dbgln(""); }
|
|||
void set_debug_enabled(bool);
|
||||
|
||||
#ifdef KERNEL
|
||||
void vdmesgln(StringView fmtstr, TypeErasedFormatParams);
|
||||
void vdmesgln(StringView fmtstr, TypeErasedFormatParams&);
|
||||
|
||||
template<typename... Parameters>
|
||||
void dmesgln(CheckedFormatString<Parameters...>&& fmt, const Parameters&... parameters)
|
||||
{
|
||||
vdmesgln(fmt.view(), VariadicFormatParams { parameters... });
|
||||
VariadicFormatParams variadic_format_params { parameters... };
|
||||
vdmesgln(fmt.view(), variadic_format_params);
|
||||
}
|
||||
|
||||
void v_critical_dmesgln(StringView fmtstr, TypeErasedFormatParams);
|
||||
void v_critical_dmesgln(StringView fmtstr, TypeErasedFormatParams&);
|
||||
|
||||
// be very careful to not cause any allocations here, since we could be in
|
||||
// a very unstable situation
|
||||
template<typename... Parameters>
|
||||
void critical_dmesgln(CheckedFormatString<Parameters...>&& fmt, const Parameters&... parameters)
|
||||
{
|
||||
v_critical_dmesgln(fmt.view(), VariadicFormatParams { parameters... });
|
||||
VariadicFormatParams variadic_format_params { parameters... };
|
||||
v_critical_dmesgln(fmt.view(), variadic_format_params);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -584,9 +595,10 @@ struct Formatter<FormatString> : Formatter<String> {
|
|||
template<typename... Parameters>
|
||||
void format(FormatBuilder& builder, StringView fmtstr, const Parameters&... parameters)
|
||||
{
|
||||
vformat(builder, fmtstr, VariadicFormatParams { parameters... });
|
||||
VariadicFormatParams variadic_format_params { parameters... };
|
||||
vformat(builder, fmtstr, variadic_format_params);
|
||||
}
|
||||
void vformat(FormatBuilder& builder, StringView fmtstr, TypeErasedFormatParams params);
|
||||
void vformat(FormatBuilder& builder, StringView fmtstr, TypeErasedFormatParams& params);
|
||||
};
|
||||
|
||||
} // namespace AK
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue