@@ -1613,23 +1613,29 @@ export class Module {
1613
1613
1614
1614
// exception handling
1615
1615
1616
- // try(
1617
- // body: ExpressionRef,
1618
- // catchTags: string[],
1619
- // catchBodies: ExpressionRef[]
1620
- // ): ExpressionRef {
1621
- // var numCatchTags = catchTags.length;
1622
- // var strs = new Array<TagRef>(numCatchTags);
1623
- // for (let i = 0; i < numCatchTags; ++i) {
1624
- // strs[i] = this.allocStringCached(catchTags[i]);
1625
- // }
1626
- // var cArr1 = allocPtrArray(strs);
1627
- // var cArr2 = allocPtrArray(catchBodies);
1628
- // var ret = binaryen._BinaryenTry(this.ref, body, cArr1, numCatchTags, cArr2, catchBodies.length);
1629
- // binaryen._free(cArr2);
1630
- // binaryen._free(cArr1);
1631
- // return ret;
1632
- // }
1616
+ try (
1617
+ name : string | null ,
1618
+ body : ExpressionRef ,
1619
+ catchTags : string [ ] ,
1620
+ catchBodies : ExpressionRef [ ] ,
1621
+ delegateTarget : string | null = null
1622
+ ) : ExpressionRef {
1623
+ var numCatchTags = catchTags . length ;
1624
+ var strs = new Array < TagRef > ( numCatchTags ) ;
1625
+ for ( let i = 0 ; i < numCatchTags ; ++ i ) {
1626
+ strs [ i ] = this . allocStringCached ( catchTags [ i ] ) ;
1627
+ }
1628
+ var cArr1 = allocPtrArray ( strs ) ;
1629
+ var cArr2 = allocPtrArray ( catchBodies ) ;
1630
+ var cStr1 = this . allocStringCached ( name ) ;
1631
+ var cStr2 = this . allocStringCached ( delegateTarget ) ;
1632
+ var ret = binaryen . _BinaryenTry (
1633
+ this . ref , cStr1 , body , cArr1 , numCatchTags , cArr2 , catchBodies . length , cStr2
1634
+ ) ;
1635
+ binaryen . _free ( cArr2 ) ;
1636
+ binaryen . _free ( cArr1 ) ;
1637
+ return ret ;
1638
+ }
1633
1639
1634
1640
throw (
1635
1641
tagName : string ,
0 commit comments