Skip to content

Commit a64b3e3

Browse files
rolfbjarnedalexsotomandel-macaque
authored
[JavaScriptCore] Implement Xcode 16.0 beta 1-6 changes. (#20883)
Note: there were no changes in beta 2-6. --------- Co-authored-by: Alex Soto <[email protected]> Co-authored-by: Manuel de la Pena <[email protected]>
1 parent 5b25f9e commit a64b3e3

12 files changed

+105
-151
lines changed

src/JavaScriptCore/Enums.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ public enum JSType {
2323
[iOS (13, 0)]
2424
[MacCatalyst (13, 1)]
2525
Symbol,
26+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
27+
BigInt,
2628
}
2729

2830
// typedef unsigned -> JSObjectRef.h
@@ -42,4 +44,12 @@ public enum JSClassAttributes : uint {
4244
None = 0,
4345
NoAutomaticPrototype = 1 << 1
4446
}
47+
48+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
49+
public enum JSRelationCondition : uint {
50+
Undefined,
51+
Equal,
52+
GreaterThan,
53+
LessThan,
54+
}
4555
}

src/javascriptcore.cs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,14 @@ partial interface JSValue {
187187
[Export ("toUInt32")]
188188
uint ToUInt32 ();
189189

190+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
191+
[Export ("toInt64")]
192+
long ToInt64 ();
193+
194+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
195+
[Export ("toUInt64")]
196+
ulong ToUInt64 ();
197+
190198
[Export ("toNumber")]
191199
NSNumber ToNumber ();
192200

@@ -333,6 +341,50 @@ partial interface JSValue {
333341
[MacCatalyst (13, 1)]
334342
[Export ("isSymbol")]
335343
bool IsSymbol { get; }
344+
345+
[Static]
346+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
347+
[Export ("valueWithNewBigIntFromString:inContext:")]
348+
[return: NullAllowed]
349+
JSValue CreateNewBigInt (string @string, JSContext context);
350+
351+
[Static]
352+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
353+
[Export ("valueWithNewBigIntFromInt64:inContext:")]
354+
[return: NullAllowed]
355+
JSValue CreateNewBigInt (long int64, JSContext context);
356+
357+
[Static]
358+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
359+
[Export ("valueWithNewBigIntFromUInt64:inContext:")]
360+
[return: NullAllowed]
361+
JSValue CreateNewBigInt (ulong uint64, JSContext context);
362+
363+
[Static]
364+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
365+
[Export ("valueWithNewBigIntFromDouble:inContext:")]
366+
[return: NullAllowed]
367+
JSValue CreateNewBigInt (double uint64, JSContext context);
368+
369+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
370+
[Export ("isBigInt")]
371+
bool IsBigInt { get; }
372+
373+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
374+
[Export ("compareJSValue:")]
375+
JSRelationCondition Compare (JSValue other);
376+
377+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
378+
[Export ("compareInt64:")]
379+
JSRelationCondition Compare (long other);
380+
381+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
382+
[Export ("compareUInt64:")]
383+
JSRelationCondition Compare (ulong other);
384+
385+
[iOS (18, 0), MacCatalyst (18, 0), TV (18, 0), NoMac]
386+
[Export ("compareDouble:")]
387+
JSRelationCondition Compare (double other);
336388
}
337389

338390
/// <summary>Class that maintains a binding between a JavaScript and Objective-C value.</summary>

tests/cecil-tests/Documentation.KnownFailures.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13174,6 +13174,11 @@ F:JavaScriptCore.JSPropertyAttributes.DontDelete
1317413174
F:JavaScriptCore.JSPropertyAttributes.DontEnum
1317513175
F:JavaScriptCore.JSPropertyAttributes.None
1317613176
F:JavaScriptCore.JSPropertyAttributes.ReadOnly
13177+
F:JavaScriptCore.JSRelationCondition.Equal
13178+
F:JavaScriptCore.JSRelationCondition.GreaterThan
13179+
F:JavaScriptCore.JSRelationCondition.LessThan
13180+
F:JavaScriptCore.JSRelationCondition.Undefined
13181+
F:JavaScriptCore.JSType.BigInt
1317713182
F:JavaScriptCore.JSType.Boolean
1317813183
F:JavaScriptCore.JSType.Null
1317913184
F:JavaScriptCore.JSType.Number
@@ -38664,9 +38669,17 @@ M:JavaScriptCore.JSManagedValue.#ctor(JavaScriptCore.JSValue)
3866438669
M:JavaScriptCore.JSManagedValue.Get(JavaScriptCore.JSValue,Foundation.NSObject)
3866538670
M:JavaScriptCore.JSManagedValue.Get(JavaScriptCore.JSValue)
3866638671
M:JavaScriptCore.JSValue.Call(JavaScriptCore.JSValue[])
38672+
M:JavaScriptCore.JSValue.Compare(JavaScriptCore.JSValue)
38673+
M:JavaScriptCore.JSValue.Compare(System.Double)
38674+
M:JavaScriptCore.JSValue.Compare(System.Int64)
38675+
M:JavaScriptCore.JSValue.Compare(System.UInt64)
3866738676
M:JavaScriptCore.JSValue.Construct(JavaScriptCore.JSValue[])
3866838677
M:JavaScriptCore.JSValue.CreateArray(JavaScriptCore.JSContext)
3866938678
M:JavaScriptCore.JSValue.CreateError(System.String,JavaScriptCore.JSContext)
38679+
M:JavaScriptCore.JSValue.CreateNewBigInt(System.Double,JavaScriptCore.JSContext)
38680+
M:JavaScriptCore.JSValue.CreateNewBigInt(System.Int64,JavaScriptCore.JSContext)
38681+
M:JavaScriptCore.JSValue.CreateNewBigInt(System.String,JavaScriptCore.JSContext)
38682+
M:JavaScriptCore.JSValue.CreateNewBigInt(System.UInt64,JavaScriptCore.JSContext)
3867038683
M:JavaScriptCore.JSValue.CreateObject(JavaScriptCore.JSContext)
3867138684
M:JavaScriptCore.JSValue.CreatePromise(JavaScriptCore.JSContext,JavaScriptCore.JSPromiseCreationExecutor)
3867238685
M:JavaScriptCore.JSValue.CreateRegularExpression(System.String,System.String,JavaScriptCore.JSContext)
@@ -38702,6 +38715,7 @@ M:JavaScriptCore.JSValue.ToDate
3870238715
M:JavaScriptCore.JSValue.ToDictionary
3870338716
M:JavaScriptCore.JSValue.ToDouble
3870438717
M:JavaScriptCore.JSValue.ToInt32
38718+
M:JavaScriptCore.JSValue.ToInt64
3870538719
M:JavaScriptCore.JSValue.ToNumber
3870638720
M:JavaScriptCore.JSValue.ToObject
3870738721
M:JavaScriptCore.JSValue.ToObject(ObjCRuntime.Class)
@@ -38711,6 +38725,7 @@ M:JavaScriptCore.JSValue.ToRect
3871138725
M:JavaScriptCore.JSValue.ToSize
3871238726
M:JavaScriptCore.JSValue.ToString
3871338727
M:JavaScriptCore.JSValue.ToUInt32
38728+
M:JavaScriptCore.JSValue.ToUInt64
3871438729
M:JavaScriptCore.JSValue.Undefined(JavaScriptCore.JSContext)
3871538730
M:JavaScriptCore.JSVirtualMachine.#ctor
3871638731
M:JavaScriptCore.JSVirtualMachine.AddManagedReference(Foundation.NSObject,Foundation.NSObject)
@@ -68141,6 +68156,7 @@ P:JavaScriptCore.JSPropertyDescriptorKeys.Value
6814168156
P:JavaScriptCore.JSPropertyDescriptorKeys.Writable
6814268157
P:JavaScriptCore.JSValue.Context
6814368158
P:JavaScriptCore.JSValue.IsArray
68159+
P:JavaScriptCore.JSValue.IsBigInt
6814468160
P:JavaScriptCore.JSValue.IsBoolean
6814568161
P:JavaScriptCore.JSValue.IsDate
6814668162
P:JavaScriptCore.JSValue.IsNull
@@ -80655,6 +80671,7 @@ T:iTunesLibrary.ITLibrary
8065580671
T:iTunesLibrary.ITLibraryNotifications
8065680672
T:iTunesLibrary.MediaItemProperty
8065780673
T:JavaScriptCore.JSPromiseCreationExecutor
80674+
T:JavaScriptCore.JSRelationCondition
8065880675
T:LinkPresentation.LPErrorCode
8065980676
T:LinkPresentation.LPLinkMetadata
8066080677
T:LinkPresentation.LPLinkView

tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-JavaScriptCore.todo

Lines changed: 0 additions & 25 deletions
This file was deleted.

tests/xtro-sharpie/api-annotations-dotnet/common-JavaScriptCore.ignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,16 @@
109109
!missing-pinvoke! JSValueMakeSymbol is not bound
110110
!missing-pinvoke! JSGlobalContextIsInspectable is not bound
111111
!missing-pinvoke! JSGlobalContextSetInspectable is not bound
112+
!missing-pinvoke! JSBigIntCreateWithDouble is not bound
113+
!missing-pinvoke! JSBigIntCreateWithInt64 is not bound
114+
!missing-pinvoke! JSBigIntCreateWithString is not bound
115+
!missing-pinvoke! JSBigIntCreateWithUInt64 is not bound
116+
!missing-pinvoke! JSValueCompare is not bound
117+
!missing-pinvoke! JSValueCompareDouble is not bound
118+
!missing-pinvoke! JSValueCompareInt64 is not bound
119+
!missing-pinvoke! JSValueCompareUInt64 is not bound
120+
!missing-pinvoke! JSValueIsBigInt is not bound
121+
!missing-pinvoke! JSValueToInt32 is not bound
122+
!missing-pinvoke! JSValueToInt64 is not bound
123+
!missing-pinvoke! JSValueToUInt32 is not bound
124+
!missing-pinvoke! JSValueToUInt64 is not bound

tests/xtro-sharpie/api-annotations-dotnet/iOS-JavaScriptCore.todo

Lines changed: 0 additions & 25 deletions
This file was deleted.

tests/xtro-sharpie/api-annotations-dotnet/macOS-JavaScriptCore.todo

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,4 @@
11
!missing-enum! JSRelationCondition not bound
2-
!missing-pinvoke! JSBigIntCreateWithDouble is not bound
3-
!missing-pinvoke! JSBigIntCreateWithInt64 is not bound
4-
!missing-pinvoke! JSBigIntCreateWithString is not bound
5-
!missing-pinvoke! JSBigIntCreateWithUInt64 is not bound
6-
!missing-pinvoke! JSValueCompare is not bound
7-
!missing-pinvoke! JSValueCompareDouble is not bound
8-
!missing-pinvoke! JSValueCompareInt64 is not bound
9-
!missing-pinvoke! JSValueCompareUInt64 is not bound
10-
!missing-pinvoke! JSValueIsBigInt is not bound
11-
!missing-pinvoke! JSValueToInt32 is not bound
12-
!missing-pinvoke! JSValueToInt64 is not bound
13-
!missing-pinvoke! JSValueToUInt32 is not bound
14-
!missing-pinvoke! JSValueToUInt64 is not bound
152
!missing-selector! +JSValue::valueWithNewBigIntFromDouble:inContext: not bound
163
!missing-selector! +JSValue::valueWithNewBigIntFromInt64:inContext: not bound
174
!missing-selector! +JSValue::valueWithNewBigIntFromString:inContext: not bound

tests/xtro-sharpie/api-annotations-dotnet/tvOS-JavaScriptCore.todo

Lines changed: 0 additions & 25 deletions
This file was deleted.

tests/xtro-sharpie/common-JavaScriptCore.ignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,16 @@
109109
!missing-pinvoke! JSValueMakeSymbol is not bound
110110
!missing-pinvoke! JSGlobalContextIsInspectable is not bound
111111
!missing-pinvoke! JSGlobalContextSetInspectable is not bound
112+
!missing-pinvoke! JSBigIntCreateWithDouble is not bound
113+
!missing-pinvoke! JSBigIntCreateWithInt64 is not bound
114+
!missing-pinvoke! JSBigIntCreateWithString is not bound
115+
!missing-pinvoke! JSBigIntCreateWithUInt64 is not bound
116+
!missing-pinvoke! JSValueCompare is not bound
117+
!missing-pinvoke! JSValueCompareDouble is not bound
118+
!missing-pinvoke! JSValueCompareInt64 is not bound
119+
!missing-pinvoke! JSValueCompareUInt64 is not bound
120+
!missing-pinvoke! JSValueIsBigInt is not bound
121+
!missing-pinvoke! JSValueToInt32 is not bound
122+
!missing-pinvoke! JSValueToInt64 is not bound
123+
!missing-pinvoke! JSValueToUInt32 is not bound
124+
!missing-pinvoke! JSValueToUInt64 is not bound

tests/xtro-sharpie/iOS-JavaScriptCore.todo

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)