mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Fixed dbg evaluation issue with chained sret calls
This commit is contained in:
parent
79d13a3626
commit
95c603ada5
2 changed files with 90 additions and 15 deletions
|
@ -234,6 +234,8 @@ class DbgCallResult
|
|||
public:
|
||||
DbgSubprogram* mSubProgram;
|
||||
DbgTypedValue mResult;
|
||||
DbgTypedValue mStructRetVal;
|
||||
Array<uint8> mSRetData;
|
||||
};
|
||||
|
||||
class DbgExprEvaluator : public BfStructuralVisitor
|
||||
|
@ -285,6 +287,7 @@ public:
|
|||
DbgTypedValue mExplicitThis;
|
||||
BfExpression* mExplicitThisExpr;
|
||||
Array<DbgCallResult>* mCallResults;
|
||||
addr_target mCallStackPreservePos;
|
||||
int mCallResultIdx;
|
||||
String mNamespaceSearchStr;
|
||||
Array<DbgType*> mNamespaceSearch;
|
||||
|
@ -322,7 +325,7 @@ public:
|
|||
DbgTypedValue CheckEnumCreation(BfAstNode* targetSrc, DbgType* enumType, const StringImpl& caseName, const BfSizedArray<BfExpression*>& argValues);
|
||||
void DoInvocation(BfAstNode* target, BfSizedArray<ASTREF(BfExpression*)>& args, BfSizedArray<ASTREF(BfTypeReference*)>* methodGenericArguments);
|
||||
bool ResolveArgValues(const BfSizedArray<ASTREF(BfExpression*)>& arguments, SizedArrayImpl<DbgTypedValue>& outArgValues);
|
||||
DbgTypedValue CreateCall(DbgSubprogram* method, DbgTypedValue thisVal, bool bypassVirtual, CPURegisters* registers);
|
||||
DbgTypedValue CreateCall(DbgSubprogram* method, DbgTypedValue thisVal, DbgTypedValue structRetVal, bool bypassVirtual, CPURegisters* registers);
|
||||
DbgTypedValue CreateCall(DbgSubprogram* method, SizedArrayImpl<DbgMethodArgument>& argPushQueue, bool bypassVirtual);
|
||||
DbgTypedValue CreateCall(BfAstNode* targetSrc, DbgTypedValue target, DbgSubprogram* methodDef, bool bypassVirtual, const BfSizedArray<ASTREF(BfExpression*)>& arguments, SizedArrayImpl<DbgTypedValue>& argValues);
|
||||
DbgTypedValue MatchMethod(BfAstNode* targetSrc, DbgTypedValue target, bool allowImplicitThis, bool bypassVirtual, const StringImpl& methodName,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue