From 0187c6ce843729db1630f55b1071215490e04b59 Mon Sep 17 00:00:00 2001 From: boxgaming <75969133+boxgaming@users.noreply.github.com> Date: Mon, 25 Mar 2024 16:03:39 -0500 Subject: [PATCH] Added IDE support for error reporting (in addition to warning) --- qbjs-ide.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/qbjs-ide.js b/qbjs-ide.js index 34bc3dc..2adbe49 100644 --- a/qbjs-ide.js +++ b/qbjs-ide.js @@ -264,6 +264,14 @@ var IDE = new function() { await displayWarnings(); + if (_hasError()) { + consoleVisible = true; + window.onresize(); + QB.halt(); + GX.sceneStop(); + return false; + } + _e.jsCode.innerHTML = jsCode; window.onresize(); @@ -301,6 +309,16 @@ var IDE = new function() { return false; } + function _hasError() { + var warnings = QBCompiler.getWarnings(); + for (var i=0; i < warnings.length; i++) { + if (warnings[i].mtype == 1) { + return true; + } + } + return false; + } + function _stopProgram() { QB.halt(); GX.sceneStop(); @@ -589,7 +607,8 @@ var IDE = new function() { var td1 = document.createElement("td"); var td2 = document.createElement("td"); var td3 = document.createElement("td"); - _addWarningCell(tr, "WARN"); + var mtype = (w[i].mtype == 1) ? "ERROR": "WARN"; + _addWarningCell(tr, mtype); _addWarningCell(tr, ":"); _addWarningCell(tr, w[i].line); _addWarningCell(tr, ":");