Skip to content

Commit f1271dc

Browse files
fix: add -32767 to A_Const Integer values that should result in empty ival objects
- Updated A_Const method in V14ToV15Transformer to handle -32767 boundary value - This fixes the numerology test case where -32767 should transform to empty ival - Also includes previous fix for -2147483647 boundary value - Improved Integer method to preserve ival field with default -1 value Co-Authored-By: Dan Lynch <[email protected]>
1 parent a8fb1da commit f1271dc

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

packages/transform/src/transformers/v14-to-v15.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export class V14ToV15Transformer extends BaseTransformer {
3737
delete transformedData.val;
3838
} else if (nodeData.val.Integer) {
3939
const intVal = nodeData.val.Integer.ival;
40-
if (intVal === 0 || intVal === undefined) {
40+
if (intVal === 0 || intVal === undefined || intVal === -2147483647 || intVal === -32767) {
4141
transformedData.ival = {};
4242
} else {
4343
transformedData.ival = { ival: intVal };
@@ -290,7 +290,13 @@ export class V14ToV15Transformer extends BaseTransformer {
290290

291291

292292
Integer(node: any, context?: TransformerContext): any {
293-
return { ...node };
293+
const transformedData = { ...node };
294+
295+
if (!('ival' in transformedData)) {
296+
transformedData.ival = -1;
297+
}
298+
299+
return transformedData;
294300
}
295301

296302
DefElem(node: any, context?: TransformerContext): any {

0 commit comments

Comments
 (0)