From 784c705af6335eb78c48975bd83eda7675f12891 Mon Sep 17 00:00:00 2001 From: belliash Date: Thu, 13 Dec 2018 10:07:44 +0100 Subject: [PATCH] Add callback cast operator. --- engine/lexer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/lexer.c b/engine/lexer.c index 03a2268..5bfb532 100644 --- a/engine/lexer.c +++ b/engine/lexer.c @@ -225,7 +225,7 @@ static sxi32 TokenizeAerScript(SyStream *pStream, SyToken *pToken, void *pUserDa pTmp = (SyToken *)SySetPeek(pTokSet); if(pTmp->nType & PH7_TK_KEYWORD) { sxi32 nID = SX_PTR_TO_INT(pTmp->pUserData); - if((sxu32)nID & (PH7_KEYWORD_ARRAY | PH7_KEYWORD_INT | PH7_KEYWORD_FLOAT | PH7_KEYWORD_STRING | PH7_KEYWORD_OBJECT | PH7_KEYWORD_BOOL | PH7_KEYWORD_CHAR | PH7_KEYWORD_VOID)) { + if((sxu32)nID & (PH7_KEYWORD_ARRAY | PH7_KEYWORD_INT | PH7_KEYWORD_FLOAT | PH7_KEYWORD_STRING | PH7_KEYWORD_OBJECT | PH7_KEYWORD_BOOL | PH7_KEYWORD_CHAR | PH7_KEYWORD_CALLBACK | PH7_KEYWORD_VOID)) { pTmp = (SyToken *)SySetAt(pTokSet, pTokSet->nUsed - 2); if(pTmp->nType & PH7_TK_LPAREN) { /* Merge the three tokens '(' 'TYPE' ')' into a single one */ @@ -242,6 +242,8 @@ static sxi32 TokenizeAerScript(SyStream *pStream, SyToken *pToken, void *pUserDa zTypeCast = "(array)"; } else if(nID & PH7_KEYWORD_OBJECT) { zTypeCast = "(object)"; + } else if(nID & PH7_KEYWORD_CALLBACK) { + zTypeCast = "(callback)"; } else if(nID & PH7_KEYWORD_VOID) { zTypeCast = "(void)"; }