Implement Static Function Pointers
This commit is contained in:
parent
88b5d9aba1
commit
e3704605d8
23 changed files with 876 additions and 51 deletions
|
|
@ -277,6 +277,7 @@ enum EFxType
|
|||
EFX_ReturnStatement,
|
||||
EFX_ClassTypeCast,
|
||||
EFX_ClassPtrCast,
|
||||
EFX_FunctionPtrCast,
|
||||
EFX_StateByIndex,
|
||||
EFX_RuntimeStateIndex,
|
||||
EFX_MultiNameState,
|
||||
|
|
@ -1818,6 +1819,7 @@ class FxVMFunctionCall : public FxExpression
|
|||
bool CheckAccessibility(const VersionInfo &ver);
|
||||
|
||||
public:
|
||||
const bool FnPtrCall;
|
||||
|
||||
FArgumentList ArgList;
|
||||
PFunction* Function;
|
||||
|
|
@ -2127,6 +2129,24 @@ public:
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
class FxFunctionPtrCast : public FxExpression
|
||||
{
|
||||
FxExpression *basex;
|
||||
|
||||
public:
|
||||
|
||||
FxFunctionPtrCast (PFunctionPointer *ftype, FxExpression *x);
|
||||
~FxFunctionPtrCast();
|
||||
FxExpression *Resolve(FCompileContext&);
|
||||
ExpEmit Emit(VMFunctionBuilder *build);
|
||||
};
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
//
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
class FxNop : public FxExpression
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue