objdiff-wasm 3.4.5 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,6 +50,7 @@ export type SymbolNavigationKind = 'normal' | 'extab';
50
50
  export interface ContextItemCopy {
51
51
  value: string,
52
52
  label?: string,
53
+ copyString?: string,
53
54
  }
54
55
  export interface ContextItemNavigate {
55
56
  label: string,
@@ -103,7 +104,7 @@ export interface DiffTextSymbol {
103
104
  name: string,
104
105
  demangledName?: string,
105
106
  }
106
- export type DiffText = DiffTextBasic | DiffTextLine | DiffTextAddress | DiffTextOpcode | DiffTextSigned | DiffTextUnsigned | DiffTextOpaque | DiffTextBranchDest | DiffTextSymbol | DiffTextAddend | DiffTextSpacing | DiffTextEol;
107
+ export type DiffText = DiffTextBasic | DiffTextLine | DiffTextAddress | DiffTextOpcode | DiffTextSigned | DiffTextUnsigned | DiffTextOpaque | DiffTextBranchDest | DiffTextBranchArrow | DiffTextSymbol | DiffTextAddend | DiffTextSpacing | DiffTextEol;
107
108
  export interface DiffTextBasic {
108
109
  tag: 'basic',
109
110
  val: string,
@@ -136,6 +137,10 @@ export interface DiffTextBranchDest {
136
137
  tag: 'branch-dest',
137
138
  val: bigint,
138
139
  }
140
+ export interface DiffTextBranchArrow {
141
+ tag: 'branch-arrow',
142
+ val: number,
143
+ }
139
144
  export interface DiffTextSymbol {
140
145
  tag: 'symbol',
141
146
  val: DiffTextSymbol,
Binary file
package/dist/objdiff.js CHANGED
@@ -1202,6 +1202,12 @@ function displayInstructionRow(arg0, arg1, arg2, arg3) {
1202
1202
  };
1203
1203
  break;
1204
1204
  case 8:
1205
+ variant10 = {
1206
+ tag: 'branch-arrow',
1207
+ val: dataView(memory0).getInt32(base + 8, true) >>> 0
1208
+ };
1209
+ break;
1210
+ case 9:
1205
1211
  {
1206
1212
  var ptr7 = dataView(memory0).getInt32(base + 8, true);
1207
1213
  var len7 = dataView(memory0).getInt32(base + 12, true);
@@ -1229,19 +1235,19 @@ function displayInstructionRow(arg0, arg1, arg2, arg3) {
1229
1235
  };
1230
1236
  break;
1231
1237
  }
1232
- case 9:
1238
+ case 10:
1233
1239
  variant10 = {
1234
1240
  tag: 'addend',
1235
1241
  val: dataView(memory0).getBigInt64(base + 8, true)
1236
1242
  };
1237
1243
  break;
1238
- case 10:
1244
+ case 11:
1239
1245
  variant10 = {
1240
1246
  tag: 'spacing',
1241
1247
  val: clampGuest(dataView(memory0).getUint8(base + 8, true), 0, 255)
1242
1248
  };
1243
1249
  break;
1244
- case 11:
1250
+ case 12:
1245
1251
  variant10 = {
1246
1252
  tag: 'eol'
1247
1253
  };
@@ -1337,12 +1343,12 @@ function symbolContext(arg0, arg1) {
1337
1343
  if (!handle1 || (handleTable1[(handle1 << 1) + 1] & T_FLAG) === 0) throw new TypeError('Resource error: Not a valid "ObjectDiff" resource.');
1338
1344
  var handle0 = handleTable1[(handle1 << 1) + 1] & ~T_FLAG;
1339
1345
  const ret = displaySymbolContext(handle0, toUint32(arg1));
1340
- var len8 = dataView(memory0).getInt32(ret + 4, true);
1341
- var base8 = dataView(memory0).getInt32(ret + 0, true);
1342
- var result8 = [];
1343
- for(let i = 0; i < len8; i++){
1344
- const base = base8 + 24 * i;
1345
- let variant7;
1346
+ var len10 = dataView(memory0).getInt32(ret + 4, true);
1347
+ var base10 = dataView(memory0).getInt32(ret + 0, true);
1348
+ var result10 = [];
1349
+ for(let i = 0; i < len10; i++){
1350
+ const base = base10 + 36 * i;
1351
+ let variant9;
1346
1352
  switch(dataView(memory0).getUint8(base + 0, true)){
1347
1353
  case 0:
1348
1354
  {
@@ -1363,52 +1369,67 @@ function symbolContext(arg0, arg1) {
1363
1369
  default:
1364
1370
  throw new TypeError('invalid variant discriminant for option');
1365
1371
  }
1366
- variant7 = {
1372
+ let variant6;
1373
+ switch(dataView(memory0).getUint8(base + 24, true)){
1374
+ case 0:
1375
+ variant6 = void 0;
1376
+ break;
1377
+ case 1:
1378
+ var ptr5 = dataView(memory0).getInt32(base + 28, true);
1379
+ var len5 = dataView(memory0).getInt32(base + 32, true);
1380
+ var result5 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr5, len5));
1381
+ variant6 = result5;
1382
+ break;
1383
+ default:
1384
+ throw new TypeError('invalid variant discriminant for option');
1385
+ }
1386
+ variant9 = {
1367
1387
  tag: 'copy',
1368
1388
  val: {
1369
1389
  value: result2,
1370
- label: variant4
1390
+ label: variant4,
1391
+ copyString: variant6
1371
1392
  }
1372
1393
  };
1373
1394
  break;
1374
1395
  }
1375
1396
  case 1:
1376
1397
  {
1377
- var ptr5 = dataView(memory0).getInt32(base + 4, true);
1378
- var len5 = dataView(memory0).getInt32(base + 8, true);
1379
- var result5 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr5, len5));
1380
- let enum6;
1398
+ var ptr7 = dataView(memory0).getInt32(base + 4, true);
1399
+ var len7 = dataView(memory0).getInt32(base + 8, true);
1400
+ var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
1401
+ let enum8;
1381
1402
  switch(dataView(memory0).getUint8(base + 16, true)){
1382
1403
  case 0:
1383
- enum6 = 'normal';
1404
+ enum8 = 'normal';
1384
1405
  break;
1385
1406
  case 1:
1386
- enum6 = 'extab';
1407
+ enum8 = 'extab';
1387
1408
  break;
1388
1409
  default:
1389
1410
  throw new TypeError('invalid discriminant specified for SymbolNavigationKind');
1390
1411
  }
1391
- variant7 = {
1412
+ variant9 = {
1392
1413
  tag: 'navigate',
1393
1414
  val: {
1394
- label: result5,
1415
+ label: result7,
1395
1416
  symbol: dataView(memory0).getInt32(base + 12, true) >>> 0,
1396
- kind: enum6
1417
+ kind: enum8
1397
1418
  }
1398
1419
  };
1399
1420
  break;
1400
1421
  }
1401
1422
  case 2:
1402
- variant7 = {
1423
+ variant9 = {
1403
1424
  tag: 'separator'
1404
1425
  };
1405
1426
  break;
1406
1427
  default:
1407
1428
  throw new TypeError('invalid variant discriminant for ContextItem');
1408
1429
  }
1409
- result8.push(variant7);
1430
+ result10.push(variant9);
1410
1431
  }
1411
- const retVal = result8;
1432
+ const retVal = result10;
1412
1433
  postReturn7(ret);
1413
1434
  return retVal;
1414
1435
  }
@@ -1486,12 +1507,12 @@ function instructionContext(arg0, arg1, arg2, arg3) {
1486
1507
  if (!handle3 || (handleTable2[(handle3 << 1) + 1] & T_FLAG) === 0) throw new TypeError('Resource error: Not a valid "DiffConfig" resource.');
1487
1508
  var handle2 = handleTable2[(handle3 << 1) + 1] & ~T_FLAG;
1488
1509
  const ret = displayInstructionContext(handle0, toUint32(arg1), toUint32(arg2), handle2);
1489
- var len10 = dataView(memory0).getInt32(ret + 4, true);
1490
- var base10 = dataView(memory0).getInt32(ret + 0, true);
1491
- var result10 = [];
1492
- for(let i = 0; i < len10; i++){
1493
- const base = base10 + 24 * i;
1494
- let variant9;
1510
+ var len12 = dataView(memory0).getInt32(ret + 4, true);
1511
+ var base12 = dataView(memory0).getInt32(ret + 0, true);
1512
+ var result12 = [];
1513
+ for(let i = 0; i < len12; i++){
1514
+ const base = base12 + 36 * i;
1515
+ let variant11;
1495
1516
  switch(dataView(memory0).getUint8(base + 0, true)){
1496
1517
  case 0:
1497
1518
  {
@@ -1512,52 +1533,67 @@ function instructionContext(arg0, arg1, arg2, arg3) {
1512
1533
  default:
1513
1534
  throw new TypeError('invalid variant discriminant for option');
1514
1535
  }
1515
- variant9 = {
1536
+ let variant8;
1537
+ switch(dataView(memory0).getUint8(base + 24, true)){
1538
+ case 0:
1539
+ variant8 = void 0;
1540
+ break;
1541
+ case 1:
1542
+ var ptr7 = dataView(memory0).getInt32(base + 28, true);
1543
+ var len7 = dataView(memory0).getInt32(base + 32, true);
1544
+ var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
1545
+ variant8 = result7;
1546
+ break;
1547
+ default:
1548
+ throw new TypeError('invalid variant discriminant for option');
1549
+ }
1550
+ variant11 = {
1516
1551
  tag: 'copy',
1517
1552
  val: {
1518
1553
  value: result4,
1519
- label: variant6
1554
+ label: variant6,
1555
+ copyString: variant8
1520
1556
  }
1521
1557
  };
1522
1558
  break;
1523
1559
  }
1524
1560
  case 1:
1525
1561
  {
1526
- var ptr7 = dataView(memory0).getInt32(base + 4, true);
1527
- var len7 = dataView(memory0).getInt32(base + 8, true);
1528
- var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
1529
- let enum8;
1562
+ var ptr9 = dataView(memory0).getInt32(base + 4, true);
1563
+ var len9 = dataView(memory0).getInt32(base + 8, true);
1564
+ var result9 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr9, len9));
1565
+ let enum10;
1530
1566
  switch(dataView(memory0).getUint8(base + 16, true)){
1531
1567
  case 0:
1532
- enum8 = 'normal';
1568
+ enum10 = 'normal';
1533
1569
  break;
1534
1570
  case 1:
1535
- enum8 = 'extab';
1571
+ enum10 = 'extab';
1536
1572
  break;
1537
1573
  default:
1538
1574
  throw new TypeError('invalid discriminant specified for SymbolNavigationKind');
1539
1575
  }
1540
- variant9 = {
1576
+ variant11 = {
1541
1577
  tag: 'navigate',
1542
1578
  val: {
1543
- label: result7,
1579
+ label: result9,
1544
1580
  symbol: dataView(memory0).getInt32(base + 12, true) >>> 0,
1545
- kind: enum8
1581
+ kind: enum10
1546
1582
  }
1547
1583
  };
1548
1584
  break;
1549
1585
  }
1550
1586
  case 2:
1551
- variant9 = {
1587
+ variant11 = {
1552
1588
  tag: 'separator'
1553
1589
  };
1554
1590
  break;
1555
1591
  default:
1556
1592
  throw new TypeError('invalid variant discriminant for ContextItem');
1557
1593
  }
1558
- result10.push(variant9);
1594
+ result12.push(variant11);
1559
1595
  }
1560
- const retVal = result10;
1596
+ const retVal = result12;
1561
1597
  postReturn7(ret);
1562
1598
  return retVal;
1563
1599
  }
@@ -1708,12 +1744,12 @@ function dataContext(arg0, arg1, arg2) {
1708
1744
  if (!handle1 || (handleTable1[(handle1 << 1) + 1] & T_FLAG) === 0) throw new TypeError('Resource error: Not a valid "ObjectDiff" resource.');
1709
1745
  var handle0 = handleTable1[(handle1 << 1) + 1] & ~T_FLAG;
1710
1746
  const ret = displayDataContext(handle0, toUint32(arg1), toUint32(arg2));
1711
- var len8 = dataView(memory0).getInt32(ret + 4, true);
1712
- var base8 = dataView(memory0).getInt32(ret + 0, true);
1713
- var result8 = [];
1714
- for(let i = 0; i < len8; i++){
1715
- const base = base8 + 24 * i;
1716
- let variant7;
1747
+ var len10 = dataView(memory0).getInt32(ret + 4, true);
1748
+ var base10 = dataView(memory0).getInt32(ret + 0, true);
1749
+ var result10 = [];
1750
+ for(let i = 0; i < len10; i++){
1751
+ const base = base10 + 36 * i;
1752
+ let variant9;
1717
1753
  switch(dataView(memory0).getUint8(base + 0, true)){
1718
1754
  case 0:
1719
1755
  {
@@ -1734,52 +1770,67 @@ function dataContext(arg0, arg1, arg2) {
1734
1770
  default:
1735
1771
  throw new TypeError('invalid variant discriminant for option');
1736
1772
  }
1737
- variant7 = {
1773
+ let variant6;
1774
+ switch(dataView(memory0).getUint8(base + 24, true)){
1775
+ case 0:
1776
+ variant6 = void 0;
1777
+ break;
1778
+ case 1:
1779
+ var ptr5 = dataView(memory0).getInt32(base + 28, true);
1780
+ var len5 = dataView(memory0).getInt32(base + 32, true);
1781
+ var result5 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr5, len5));
1782
+ variant6 = result5;
1783
+ break;
1784
+ default:
1785
+ throw new TypeError('invalid variant discriminant for option');
1786
+ }
1787
+ variant9 = {
1738
1788
  tag: 'copy',
1739
1789
  val: {
1740
1790
  value: result2,
1741
- label: variant4
1791
+ label: variant4,
1792
+ copyString: variant6
1742
1793
  }
1743
1794
  };
1744
1795
  break;
1745
1796
  }
1746
1797
  case 1:
1747
1798
  {
1748
- var ptr5 = dataView(memory0).getInt32(base + 4, true);
1749
- var len5 = dataView(memory0).getInt32(base + 8, true);
1750
- var result5 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr5, len5));
1751
- let enum6;
1799
+ var ptr7 = dataView(memory0).getInt32(base + 4, true);
1800
+ var len7 = dataView(memory0).getInt32(base + 8, true);
1801
+ var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
1802
+ let enum8;
1752
1803
  switch(dataView(memory0).getUint8(base + 16, true)){
1753
1804
  case 0:
1754
- enum6 = 'normal';
1805
+ enum8 = 'normal';
1755
1806
  break;
1756
1807
  case 1:
1757
- enum6 = 'extab';
1808
+ enum8 = 'extab';
1758
1809
  break;
1759
1810
  default:
1760
1811
  throw new TypeError('invalid discriminant specified for SymbolNavigationKind');
1761
1812
  }
1762
- variant7 = {
1813
+ variant9 = {
1763
1814
  tag: 'navigate',
1764
1815
  val: {
1765
- label: result5,
1816
+ label: result7,
1766
1817
  symbol: dataView(memory0).getInt32(base + 12, true) >>> 0,
1767
- kind: enum6
1818
+ kind: enum8
1768
1819
  }
1769
1820
  };
1770
1821
  break;
1771
1822
  }
1772
1823
  case 2:
1773
- variant7 = {
1824
+ variant9 = {
1774
1825
  tag: 'separator'
1775
1826
  };
1776
1827
  break;
1777
1828
  default:
1778
1829
  throw new TypeError('invalid variant discriminant for ContextItem');
1779
1830
  }
1780
- result8.push(variant7);
1831
+ result10.push(variant9);
1781
1832
  }
1782
- const retVal = result8;
1833
+ const retVal = result10;
1783
1834
  postReturn7(ret);
1784
1835
  return retVal;
1785
1836
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "objdiff-wasm",
3
- "version": "3.4.5",
3
+ "version": "3.5.1",
4
4
  "description": "A local diffing tool for decompilation projects.",
5
5
  "author": {
6
6
  "name": "Luke Street",