@@ -162,17 +162,19 @@ class JniBindings {
162162
163163 JniResult DartException__ctor (
164164 JStringPtr message,
165+ JThrowablePtr cause,
165166 ) {
166167 return _DartException__ctor (
167168 message,
169+ cause,
168170 );
169171 }
170172
171- late final _DartException__ctorPtr =
172- _lookup < ffi.NativeFunction <JniResult Function (JStringPtr )>> (
173- 'DartException__ctor' );
174- late final _DartException__ctor =
175- _DartException__ctorPtr .asFunction < JniResult Function (JStringPtr )> ();
173+ late final _DartException__ctorPtr = _lookup <
174+ ffi.NativeFunction <JniResult Function (JStringPtr , JThrowablePtr )>> (
175+ 'DartException__ctor' );
176+ late final _DartException__ctor = _DartException__ctorPtr .asFunction <
177+ JniResult Function (JStringPtr , JThrowablePtr )> ();
176178
177179 JniResult PortContinuation__ctor (
178180 int j,
@@ -2081,30 +2083,78 @@ final class CallbackResult extends ffi.Struct {
20812083 external JObjectPtr object;
20822084}
20832085
2084- typedef MutexLock = pthread_mutex_t ;
2085- typedef pthread_mutex_t = __darwin_pthread_mutex_t ;
2086- typedef __darwin_pthread_mutex_t = _opaque_pthread_mutex_t ;
2086+ typedef MutexLock = CRITICAL_SECTION ;
2087+ typedef CRITICAL_SECTION = RTL_CRITICAL_SECTION ;
2088+ typedef RTL_CRITICAL_SECTION = _RTL_CRITICAL_SECTION ;
20872089
2088- final class _opaque_pthread_mutex_t extends ffi.Struct {
2089- @ffi .Long ()
2090- external int __sig;
2090+ final class _RTL_CRITICAL_SECTION extends ffi.Struct {
2091+ external PRTL_CRITICAL_SECTION_DEBUG DebugInfo ;
20912092
2092- @ffi .Array .multi ([56 ])
2093- external ffi.Array <ffi.Char > __opaque;
2093+ @LONG ()
2094+ external int LockCount ;
2095+
2096+ @LONG ()
2097+ external int RecursionCount ;
2098+
2099+ external HANDLE OwningThread ;
2100+
2101+ external HANDLE LockSemaphore ;
2102+
2103+ @ULONG _PTR()
2104+ external int SpinCount ;
2105+ }
2106+
2107+ typedef PRTL_CRITICAL_SECTION_DEBUG = ffi.Pointer <_RTL_CRITICAL_SECTION_DEBUG >;
2108+
2109+ final class _RTL_CRITICAL_SECTION_DEBUG extends ffi.Struct {
2110+ @WORD ()
2111+ external int Type ;
2112+
2113+ @WORD ()
2114+ external int CreatorBackTraceIndex ;
2115+
2116+ external ffi.Pointer <_RTL_CRITICAL_SECTION > CriticalSection ;
2117+
2118+ external LIST_ENTRY ProcessLocksList ;
2119+
2120+ @DWORD ()
2121+ external int EntryCount ;
2122+
2123+ @DWORD ()
2124+ external int ContentionCount ;
2125+
2126+ @DWORD ()
2127+ external int Flags ;
2128+
2129+ @WORD ()
2130+ external int CreatorBackTraceIndexHigh ;
2131+
2132+ @WORD ()
2133+ external int Identifier ;
20942134}
20952135
2096- typedef ConditionVariable = pthread_cond_t;
2097- typedef pthread_cond_t = __darwin_pthread_cond_t;
2098- typedef __darwin_pthread_cond_t = _opaque_pthread_cond_t;
2136+ typedef WORD = ffi.UnsignedShort ;
2137+ typedef LIST_ENTRY = _LIST_ENTRY ;
2138+
2139+ final class _LIST_ENTRY extends ffi.Struct {
2140+ external ffi.Pointer <_LIST_ENTRY > Flink ;
2141+
2142+ external ffi.Pointer <_LIST_ENTRY > Blink ;
2143+ }
20992144
2100- final class _opaque_pthread_cond_t extends ffi.Struct {
2101- @ffi .Long ()
2102- external int __sig;
2145+ typedef DWORD = ffi.UnsignedLong ;
2146+ typedef LONG = ffi.Long ;
2147+ typedef HANDLE = ffi.Pointer <ffi.Void >;
2148+ typedef ULONG_PTR = ffi.UnsignedLongLong ;
2149+ typedef ConditionVariable = CONDITION_VARIABLE ;
2150+ typedef CONDITION_VARIABLE = RTL_CONDITION_VARIABLE ;
2151+ typedef RTL_CONDITION_VARIABLE = _RTL_CONDITION_VARIABLE ;
21032152
2104- @ ffi .Array . multi ([ 40 ])
2105- external ffi. Array <ffi. Char > __opaque ;
2153+ final class _RTL_CONDITION_VARIABLE extends ffi.Struct {
2154+ external PVOID Ptr ;
21062155}
21072156
2157+ typedef PVOID = ffi.Pointer <ffi.Void >;
21082158typedef Dart_FinalizableHandle = ffi.Pointer <_Dart_FinalizableHandle >;
21092159
21102160final class _Dart_FinalizableHandle extends ffi.Opaque {}
0 commit comments