- implemented the 'is' operator (i.e. class type check.)

This commit is contained in:
Christoph Oelckers 2016-10-30 01:05:56 +02:00
commit ac1c022911
4 changed files with 158 additions and 33 deletions

View file

@ -267,6 +267,7 @@ enum EFxType
EFX_CaseStatement,
EFX_VectorInitializer,
EFX_VectorBuiltin,
EFX_TypeCheck,
EFX_COUNT
};
@ -929,6 +930,27 @@ public:
ExpEmit Emit(VMFunctionBuilder *build);
};
//==========================================================================
//
// FxBinaryLogical
//
//==========================================================================
class FxTypeCheck : public FxExpression
{
public:
FxExpression *left;
FxExpression *right;
bool EmitTail;
FxTypeCheck(FxExpression*, FxExpression*);
~FxTypeCheck();
FxExpression *Resolve(FCompileContext&);
PPrototype *ReturnProto();
ExpEmit Emit(VMFunctionBuilder *build);
};
//==========================================================================
//
// FxConditional