mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Fixed params expression with ref values
This commit is contained in:
parent
4fe6bcaa86
commit
e82daf74d4
9 changed files with 29 additions and 45 deletions
|
@ -4134,12 +4134,10 @@ void BfExprEvaluator::ResolveArgValues(BfResolvedArgs& resolvedArgs, BfResolveAr
|
|||
{
|
||||
BfResolvedArg compositeResolvedArg;
|
||||
auto compositeLocalVar = methodState->mLocals[localVar->mLocalVarIdx + compositeIdx + 1];
|
||||
auto argValue = exprEvaluator.LoadLocal(compositeLocalVar);
|
||||
auto argValue = exprEvaluator.LoadLocal(compositeLocalVar, true);
|
||||
if (argValue)
|
||||
{
|
||||
if (argValue.mType->IsRef())
|
||||
argValue.mKind = BfTypedValueKind_Value;
|
||||
else if (!argValue.mType->IsStruct())
|
||||
if (!argValue.mType->IsStruct())
|
||||
argValue = mModule->LoadValue(argValue, NULL, exprEvaluator.mIsVolatileReference);
|
||||
}
|
||||
resolvedArg.mTypedValue = argValue;
|
||||
|
@ -8052,11 +8050,6 @@ void BfExprEvaluator::Visit(BfCollectionInitializerExpression* arrayInitExpr)
|
|||
mModule->Fail("Collection initializer not usable here", arrayInitExpr);
|
||||
}
|
||||
|
||||
void BfExprEvaluator::Visit(BfParamsExpression* paramsExpr)
|
||||
{
|
||||
mModule->Fail("Params expression is only usable as a call parameter", paramsExpr);
|
||||
}
|
||||
|
||||
void BfExprEvaluator::Visit(BfTypeOfExpression* typeOfExpr)
|
||||
{
|
||||
auto typeType = mModule->ResolveTypeDef(mModule->mCompiler->mTypeTypeDef);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue