mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-06-01 17:52:06 +00:00
- added ability to specify deprecation messages in ZScript
It's an optional extension of deprecated keyword: deprecated("2.4", "use ModernFunction instead") int OldFunction(); deprecated("3.5", "use ModernVariable instead") int OldVariable; Usage of such members will produce the following report: Script warning, ":zscript.txt" line 123: Accessing deprecated function OldFunction - deprecated since 2.4.0, use ModernFunction instead Script warning, ":zscript.txt" line 456: Accessing deprecated member variable OldVariable - deprecated since 3.5.0, use ModernVariable instead # Conflicts: # src/scripting/zscript/zcc_compile.cpp
This commit is contained in:
parent
ff78550895
commit
a2d52f4958
5 changed files with 49 additions and 15 deletions
|
@ -6137,10 +6137,12 @@ FxExpression *FxIdentifier::Resolve(FCompileContext& ctx)
|
|||
// The main motivation here is to keep the deprecated static functions accessing the global level variable as they were.
|
||||
// Print these only if debug output is active and at the highest verbosity level.
|
||||
const bool internal = (ctx.Function->Variants[0].Flags & VARF_Deprecated) && Wads.GetLumpFile(ctx.Lump) == 0;
|
||||
const FString &deprecationMessage = vsym->DeprecationMessage;
|
||||
|
||||
ScriptPosition.Message(internal ? MSG_DEBUGMSG : MSG_WARNING,
|
||||
"%sAccessing deprecated global variable %s - deprecated since %d.%d.%d", internal ? TEXTCOLOR_BLUE : "",
|
||||
sym->SymbolName.GetChars(), vsym->mVersion.major, vsym->mVersion.minor, vsym->mVersion.revision);
|
||||
"%sAccessing deprecated global variable %s - deprecated since %d.%d.%d%s%s", internal ? TEXTCOLOR_BLUE : "",
|
||||
sym->SymbolName.GetChars(), vsym->mVersion.major, vsym->mVersion.minor, vsym->mVersion.revision,
|
||||
deprecationMessage.IsEmpty() ? "" : ", ", deprecationMessage.GetChars());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6235,7 +6237,9 @@ FxExpression *FxIdentifier::ResolveMember(FCompileContext &ctx, PContainerType *
|
|||
{
|
||||
if (sym->mVersion <= ctx.Version)
|
||||
{
|
||||
ScriptPosition.Message(MSG_WARNING, "Accessing deprecated member variable %s - deprecated since %d.%d.%d", sym->SymbolName.GetChars(), vsym->mVersion.major, vsym->mVersion.minor, vsym->mVersion.revision);
|
||||
const FString &deprecationMessage = vsym->DeprecationMessage;
|
||||
ScriptPosition.Message(MSG_WARNING, "Accessing deprecated member variable %s - deprecated since %d.%d.%d%s%s", sym->SymbolName.GetChars(), vsym->mVersion.major, vsym->mVersion.minor, vsym->mVersion.revision,
|
||||
deprecationMessage.IsEmpty() ? "" : ", ", deprecationMessage.GetChars());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8777,7 +8781,9 @@ bool FxVMFunctionCall::CheckAccessibility(const VersionInfo &ver)
|
|||
{
|
||||
if (Function->mVersion <= ver)
|
||||
{
|
||||
ScriptPosition.Message(MSG_WARNING, "Accessing deprecated function %s - deprecated since %d.%d.%d", Function->SymbolName.GetChars(), Function->mVersion.major, Function->mVersion.minor, Function->mVersion.revision);
|
||||
const FString &deprecationMessage = Function->Variants[0].DeprecationMessage;
|
||||
ScriptPosition.Message(MSG_WARNING, "Accessing deprecated function %s - deprecated since %d.%d.%d%s%s", Function->SymbolName.GetChars(), Function->mVersion.major, Function->mVersion.minor, Function->mVersion.revision,
|
||||
deprecationMessage.IsEmpty() ? "" : ", ", deprecationMessage.GetChars());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue