@@ -1357,6 +1357,7 @@ pub mod wrappers2 {
13571357 // @inner (input args) <> (accumulator) <> unparsed tokens
13581358 // when `unparsed tokens == \eps`, accumulator contains the final result
13591359
1360+ // create conversions for argument expressions
13601361 ( @inner $saved: tt <> ( $( $acc: expr, ) * ) <> $arg: ident: * const Handle <$gentype: ty>, $( $rest: tt) * ) => {
13611362 wrap!( @inner $saved <> ( $( $acc, ) * if $arg. is_null( ) { :: std:: ptr:: null( ) } else { & ( * $arg) . into( ) } , ) <> $( $rest) * ) ;
13621363 } ;
@@ -1426,7 +1427,18 @@ pub mod wrappers2 {
14261427 ( @inner $saved: tt <> ( $( $acc: expr, ) * ) <> $arg: ident: $type: ty, $( $rest: tt) * ) => {
14271428 wrap!( @inner $saved <> ( $( $acc, ) * $arg, ) <> $( $rest) * ) ;
14281429 } ;
1430+ // here we transform arguments from signature of wrappers
14291431 ( @inner ( $module: tt: $func_name: ident ( $( $args: tt) * ) -> $outtype: ty) <> ( $( $argexprs: expr, ) * ) <> ) => {
1432+ wrap!( @inner2 ( $module: $func_name ( $( $argexprs, ) * ) -> $outtype) <> ( ) <> $( $args) * , ) ;
1433+ } ;
1434+ // remove *const AutoRequireNoGC marker argument
1435+ ( @inner2 $saved: tt <> ( $( $acc: tt) * ) <> $arg: ident: * const AutoRequireNoGC , $( $rest: tt) * ) => {
1436+ wrap!( @inner2 $saved <> ( $( $acc) * ) <> $( $rest) * ) ;
1437+ } ;
1438+ ( @inner2 $saved: tt <> ( $( $acc: tt) * ) <> $arg: ident: $type: ty, $( $rest: tt) * ) => {
1439+ wrap!( @inner2 $saved <> ( $( $acc) * , $arg: $type) <> $( $rest) * ) ;
1440+ } ;
1441+ ( @inner2 ( $module: tt: $func_name: ident ( $( $argexprs: expr, ) * ) -> $outtype: ty) <> ( , $( $args: tt) * ) <> ) => {
14301442 #[ inline]
14311443 pub unsafe fn $func_name( $( $args) * ) -> $outtype {
14321444 $module:: $func_name( $( $argexprs) ,* )
@@ -1442,9 +1454,9 @@ pub mod wrappers2 {
14421454
14431455 use super :: * ;
14441456 use super :: {
1445- Handle , HandleFunction , HandleId , HandleObject , HandleScript , HandleString , HandleSymbol ,
1446- HandleValue , HandleValueArray , MutableHandle , MutableHandleId , MutableHandleObject ,
1447- MutableHandleString , MutableHandleValue , StackGCVector ,
1457+ Handle , HandleFunction , HandleId , HandleObject , HandleScript , HandleString , HandleValue ,
1458+ HandleValueArray , MutableHandle , MutableHandleId , MutableHandleObject , MutableHandleString ,
1459+ MutableHandleValue , StackGCVector ,
14481460 } ;
14491461 use crate :: context:: JSContext ;
14501462 use crate :: glue;
@@ -1458,15 +1470,8 @@ pub mod wrappers2 {
14581470 use crate :: jsapi:: CloneDataPolicy ;
14591471 use crate :: jsapi:: ColumnNumberOneOrigin ;
14601472 use crate :: jsapi:: CompartmentTransplantCallback ;
1461- use crate :: jsapi:: EnvironmentChain ;
1462- use crate :: jsapi:: JSONParseHandler ;
1463- use crate :: jsapi:: Latin1Char ;
1464- use crate :: jsapi:: PropertyKey ;
1465- use crate :: jsapi:: RealmOptions ;
1466- use crate :: jsapi:: TaggedColumnNumberOneOrigin ;
1467- use crate :: jsapi:: * ;
1468- //use jsapi::DynamicImportStatus;
14691473 use crate :: jsapi:: ESClass ;
1474+ use crate :: jsapi:: EnvironmentChain ;
14701475 use crate :: jsapi:: ExceptionStackBehavior ;
14711476 use crate :: jsapi:: ForOfIterator ;
14721477 use crate :: jsapi:: ForOfIterator_NonIterableBehavior ;
@@ -1477,6 +1482,7 @@ pub mod wrappers2 {
14771482 use crate :: jsapi:: JSExnType ;
14781483 use crate :: jsapi:: JSFunctionSpecWithHelp ;
14791484 use crate :: jsapi:: JSJitInfo ;
1485+ use crate :: jsapi:: JSONParseHandler ;
14801486 use crate :: jsapi:: JSONWriteCallback ;
14811487 use crate :: jsapi:: JSPrincipals ;
14821488 use crate :: jsapi:: JSPropertySpec ;
@@ -1485,13 +1491,16 @@ pub mod wrappers2 {
14851491 use crate :: jsapi:: JSScript ;
14861492 use crate :: jsapi:: JSStructuredCloneData ;
14871493 use crate :: jsapi:: JSType ;
1494+ use crate :: jsapi:: Latin1Char ;
14881495 use crate :: jsapi:: ModuleErrorBehaviour ;
14891496 use crate :: jsapi:: ModuleType ;
14901497 use crate :: jsapi:: MutableHandleIdVector ;
14911498 use crate :: jsapi:: PromiseState ;
14921499 use crate :: jsapi:: PromiseUserInputEventHandlingState ;
1500+ use crate :: jsapi:: PropertyKey ;
14931501 use crate :: jsapi:: ReadOnlyCompileOptions ;
14941502 use crate :: jsapi:: Realm ;
1503+ use crate :: jsapi:: RealmOptions ;
14951504 use crate :: jsapi:: RefPtr ;
14961505 use crate :: jsapi:: RegExpFlags ;
14971506 use crate :: jsapi:: ScriptEnvironmentPreparer_Closure ;
@@ -1501,11 +1510,13 @@ pub mod wrappers2 {
15011510 use crate :: jsapi:: StructuredCloneScope ;
15021511 use crate :: jsapi:: Symbol ;
15031512 use crate :: jsapi:: SymbolCode ;
1513+ use crate :: jsapi:: TaggedColumnNumberOneOrigin ;
15041514 use crate :: jsapi:: TranscodeBuffer ;
15051515 use crate :: jsapi:: TwoByteChars ;
15061516 use crate :: jsapi:: UniqueChars ;
15071517 use crate :: jsapi:: Value ;
15081518 use crate :: jsapi:: WasmModule ;
1519+ use crate :: jsapi:: * ;
15091520 use crate :: jsapi:: { ElementAdder , IsArrayAnswer , PropertyDescriptor } ;
15101521 use crate :: jsapi:: { JSFunction , JSNative , JSObject , JSString } ;
15111522 use crate :: jsapi:: {
0 commit comments