From 123a7de64a58a4f38dd4497d34b6c820a5a99fb9 Mon Sep 17 00:00:00 2001 From: Ne_Eo Date: Fri, 26 Jul 2024 04:24:37 +0200 Subject: [PATCH] Fix Trigraph bug --- .gitignore | 2 ++ hscript/Interp.hx | 2 +- hscript/Parser.hx | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ace37e6..68ab983 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /hscript.swf /release.zip + +tests/bin/* \ No newline at end of file diff --git a/hscript/Interp.hx b/hscript/Interp.hx index f9d61cb..6833b4c 100644 --- a/hscript/Interp.hx +++ b/hscript/Interp.hx @@ -183,7 +183,7 @@ class Interp { assignOp("<<=", function(v1, v2) return v1 << v2); assignOp(">>=", function(v1, v2) return v1 >> v2); assignOp(">>>=", function(v1, v2) return v1 >>> v2); - assignOp("??=", function(v1, v2) return v1 == null ? v2 : v1); + assignOp("??" + "=", function(v1, v2) return v1 == null ? v2 : v1); } function checkIsType(e1,e2): Bool { diff --git a/hscript/Parser.hx b/hscript/Parser.hx index e700b17..9d96213 100644 --- a/hscript/Parser.hx +++ b/hscript/Parser.hx @@ -126,7 +126,7 @@ class Parser { ["..."], ["&&"], ["||"], - ["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","&=","^=","=>","??="], + ["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","&=","^=","=>","??" + "="], ["->", "??"], ["is"] ]; @@ -1815,7 +1815,7 @@ class Parser { case '?'.code: var orp = readPos; if (readChar() == '='.code) - return TOp("??="); + return TOp("??" + "="); this.readPos = orp; return TOp("??");