- Readonly pointer casting now works in ZScript.

This commit is contained in:
Player701 2018-11-15 23:39:13 +03:00 committed by drfrag666
parent af3635dfd9
commit 3bd16afc0f

View file

@ -4699,14 +4699,7 @@ FxExpression *FxDynamicCast::Resolve(FCompileContext& ctx)
{
CHECKRESOLVED();
SAFE_RESOLVE(expr, ctx);
bool constflag = expr->ValueType->isPointer() && expr->ValueType->toPointer()->IsConst;
if (constflag)
{
// readonly pointers are normally only used for class defaults which lack type information to be cast properly, so we have to error out here.
ScriptPosition.Message(MSG_ERROR, "Cannot cast a readonly pointer");
delete this;
return nullptr;
}
bool constflag = expr->ValueType->isPointer() && expr->ValueType->toPointer()->IsConst;
expr = new FxTypeCast(expr, NewPointer(RUNTIME_CLASS(DObject), constflag), true, true);
expr = expr->Resolve(ctx);
if (expr == nullptr)