From 84058561bd7ca7ef18cb18f52b4f3b7dc625dd96 Mon Sep 17 00:00:00 2001 From: u9g Date: Tue, 12 Nov 2024 18:42:15 -0500 Subject: [PATCH] Add check for fields not existing when writing container --- src/datatypes/compiler-structures.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/datatypes/compiler-structures.js b/src/datatypes/compiler-structures.js index d1d1a84..67f4709 100644 --- a/src/datatypes/compiler-structures.js +++ b/src/datatypes/compiler-structures.js @@ -96,6 +96,7 @@ module.exports = { for (const { name } of type[1]) { const trueName = compiler.getField(name) code += `const ${trueName} = value.${name}\n` + code += `if (${trueName} === undefined) throw new Error("Missing bitfield field '${trueName}'")\n` if (name === trueName) names.push(name) else names.push(`${name}: ${trueName}`) } @@ -104,6 +105,7 @@ module.exports = { trueName = compiler.getField(name) if (_shouldBeInlined) code += `let ${name} = value\n` else code += `let ${trueName} = value.${name}\n` + code += `if (${trueName} === undefined) throw new Error("Missing field '${trueName}'")\n` } code += 'offset = ' + compiler.callType(trueName, type) + '\n' }