@@ -850,11 +850,7 @@ impl Date {
850850 ) -> JsResult < JsValue > {
851851 // 1. Let dateObject be the this value.
852852 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
853- let object = this. as_object ( ) ;
854- let date = object
855- . as_ref ( )
856- . and_then ( JsObject :: downcast_ref :: < Date > )
857- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
853+ require_internal_slot ! ( date = this, Date , "Date" ) ;
858854
859855 // 3. Let t be dateObject.[[DateValue]].
860856 let mut t = date. 0 ;
@@ -920,11 +916,7 @@ impl Date {
920916 ) -> JsResult < JsValue > {
921917 // 1. Let dateObject be the this value.
922918 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
923- let object = this. as_object ( ) ;
924- let date = object
925- . as_ref ( )
926- . and_then ( JsObject :: downcast_ref :: < Date > )
927- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
919+ require_internal_slot ! ( date = this, Date , "Date" ) ;
928920
929921 // 3. Let t be dateObject.[[DateValue]].
930922 let t = date. 0 ;
@@ -1005,11 +997,7 @@ impl Date {
1005997 ) -> JsResult < JsValue > {
1006998 // 1. Let dateObject be the this value.
1007999 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
1008- let object = this. as_object ( ) ;
1009- let date = object
1010- . as_ref ( )
1011- . and_then ( JsObject :: downcast_ref :: < Date > )
1012- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
1000+ require_internal_slot ! ( date = this, Date , "Date" ) ;
10131001
10141002 // 3. Let t be dateObject.[[DateValue]].
10151003 let mut t = date. 0 ;
@@ -1089,11 +1077,7 @@ impl Date {
10891077 ) -> JsResult < JsValue > {
10901078 // 1. Let dateObject be the this value.
10911079 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
1092- let object = this. as_object ( ) ;
1093- let date = object
1094- . as_ref ( )
1095- . and_then ( JsObject :: downcast_ref :: < Date > )
1096- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
1080+ require_internal_slot ! ( date = this, Date , "Date" ) ;
10971081
10981082 // 3. Let t be dateObject.[[DateValue]].
10991083 let mut t = date. 0 ;
@@ -1163,11 +1147,7 @@ impl Date {
11631147 ) -> JsResult < JsValue > {
11641148 // 1. Let dateObject be the this value.
11651149 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
1166- let object = this. as_object ( ) ;
1167- let date = object
1168- . as_ref ( )
1169- . and_then ( JsObject :: downcast_ref :: < Date > )
1170- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
1150+ require_internal_slot ! ( date = this, Date , "Date" ) ;
11711151
11721152 // 3. Let t be dateObject.[[DateValue]].
11731153 let mut t = date. 0 ;
@@ -1242,11 +1222,7 @@ impl Date {
12421222 ) -> JsResult < JsValue > {
12431223 // 1. Let dateObject be the this value.
12441224 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
1245- let object = this. as_object ( ) ;
1246- let date = object
1247- . as_ref ( )
1248- . and_then ( JsObject :: downcast_ref :: < Date > )
1249- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
1225+ require_internal_slot ! ( date = this, Date , "Date" ) ;
12501226
12511227 // 3. Let t be dateObject.[[DateValue]].
12521228 let mut t = date. 0 ;
@@ -1317,11 +1293,7 @@ impl Date {
13171293 ) -> JsResult < JsValue > {
13181294 // 1. Let dateObject be the this value.
13191295 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
1320- let object = this. as_object ( ) ;
1321- let date = object
1322- . as_ref ( )
1323- . and_then ( JsObject :: downcast_ref :: < Date > )
1324- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
1296+ require_internal_slot ! ( date = this, Date , "Date" ) ;
13251297
13261298 // 3. Let t be dateObject.[[DateValue]].
13271299 let mut t = date. 0 ;
@@ -1399,11 +1371,7 @@ impl Date {
13991371 ) -> JsResult < JsValue > {
14001372 // 1. Let dateObject be the this value.
14011373 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
1402- let object = this. as_object ( ) ;
1403- let date = object
1404- . as_ref ( )
1405- . and_then ( JsObject :: downcast_ref :: < Date > )
1406- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
1374+ require_internal_slot ! ( date = this, Date , "Date" ) ;
14071375
14081376 // 3. Let t be dateObject.[[DateValue]].
14091377 let t = date. 0 ;
@@ -1466,11 +1434,7 @@ impl Date {
14661434 ) -> JsResult < JsValue > {
14671435 // 1. Let dateObject be the this value.
14681436 // 2. Perform ? RequireInternalSlot(dateObject, [[DateValue]]).
1469- let object = this. as_object ( ) ;
1470- let date = object
1471- . as_ref ( )
1472- . and_then ( JsObject :: downcast_ref :: < Date > )
1473- . ok_or_else ( || JsNativeError :: typ ( ) . with_message ( "'this' is not a Date" ) ) ?;
1437+ require_internal_slot ! ( date = this, Date , "Date" ) ;
14741438
14751439 // 3. Let t be ? ToNumber(time).
14761440 let t = args. get_or_undefined ( 0 ) . to_number ( context) ?;
0 commit comments