mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 12:47:45 +00:00
LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr
This commit is contained in:
parent
1df3652e27
commit
7c0c1c8f49
214 changed files with 825 additions and 827 deletions
|
@ -122,7 +122,7 @@ struct DifferenceSettings {
|
|||
String largest_unit;
|
||||
String rounding_mode;
|
||||
u64 rounding_increment;
|
||||
Object& options;
|
||||
NonnullGCPtr<Object> options;
|
||||
};
|
||||
|
||||
struct TemporalUnitRequired { };
|
||||
|
|
|
@ -33,7 +33,7 @@ void Instant::visit_edges(Cell::Visitor& visitor)
|
|||
{
|
||||
Base::visit_edges(visitor);
|
||||
|
||||
visitor.visit(&m_nanoseconds);
|
||||
visitor.visit(m_nanoseconds);
|
||||
}
|
||||
|
||||
// 8.5.1 IsValidEpochNanoseconds ( epochNanoseconds ), https://tc39.es/proposal-temporal/#sec-temporal-isvalidepochnanoseconds
|
||||
|
|
|
@ -30,7 +30,7 @@ private:
|
|||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
// 8.4 Properties of Temporal.Instant Instances, https://tc39.es/proposal-temporal/#sec-properties-of-temporal-instant-instances
|
||||
BigInt const& m_nanoseconds; // [[Nanoseconds]]
|
||||
NonnullGCPtr<BigInt const> m_nanoseconds; // [[Nanoseconds]]
|
||||
};
|
||||
|
||||
// https://tc39.es/proposal-temporal/#eqn-nsMaxInstant
|
||||
|
|
|
@ -35,7 +35,7 @@ PlainDate::PlainDate(i32 year, u8 month, u8 day, Object& calendar, Object& proto
|
|||
void PlainDate::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(&m_calendar);
|
||||
visitor.visit(m_calendar);
|
||||
}
|
||||
|
||||
// 3.5.2 CreateISODateRecord ( year, month, day ), https://tc39.es/proposal-temporal/#sec-temporal-create-iso-date-record
|
||||
|
|
|
@ -32,10 +32,10 @@ private:
|
|||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
// 3.4 Properties of Temporal.PlainDate Instances, https://tc39.es/proposal-temporal/#sec-properties-of-temporal-plaindate-instances
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 1 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 1 }; // [[ISODay]]
|
||||
Object& m_calendar; // [[Calendar]]
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 1 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 1 }; // [[ISODay]]
|
||||
NonnullGCPtr<Object> m_calendar; // [[Calendar]]
|
||||
};
|
||||
|
||||
// 3.5.1 ISO Date Records, https://tc39.es/proposal-temporal/#sec-temporal-iso-date-records
|
||||
|
|
|
@ -42,7 +42,7 @@ PlainDateTime::PlainDateTime(i32 iso_year, u8 iso_month, u8 iso_day, u8 iso_hour
|
|||
void PlainDateTime::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(&m_calendar);
|
||||
visitor.visit(m_calendar);
|
||||
}
|
||||
|
||||
// nsMinInstant - nsPerDay
|
||||
|
|
|
@ -39,16 +39,16 @@ private:
|
|||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
// 5.4 Properties of Temporal.PlainDateTime Instances, https://tc39.es/proposal-temporal/#sec-properties-of-temporal-plaindatetime-instances
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 0 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 0 }; // [[ISODay]]
|
||||
u8 m_iso_hour { 0 }; // [[ISOHour]]
|
||||
u8 m_iso_minute { 0 }; // [[ISOMinute]]
|
||||
u8 m_iso_second { 0 }; // [[ISOSecond]]
|
||||
u16 m_iso_millisecond { 0 }; // [[ISOMillisecond]]
|
||||
u16 m_iso_microsecond { 0 }; // [[ISOMicrosecond]]
|
||||
u16 m_iso_nanosecond { 0 }; // [[ISONanosecond]]
|
||||
Object& m_calendar; // [[Calendar]]
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 0 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 0 }; // [[ISODay]]
|
||||
u8 m_iso_hour { 0 }; // [[ISOHour]]
|
||||
u8 m_iso_minute { 0 }; // [[ISOMinute]]
|
||||
u8 m_iso_second { 0 }; // [[ISOSecond]]
|
||||
u16 m_iso_millisecond { 0 }; // [[ISOMillisecond]]
|
||||
u16 m_iso_microsecond { 0 }; // [[ISOMicrosecond]]
|
||||
u16 m_iso_nanosecond { 0 }; // [[ISONanosecond]]
|
||||
NonnullGCPtr<Object> m_calendar; // [[Calendar]]
|
||||
};
|
||||
|
||||
// Used by AddDateTime to temporarily hold values
|
||||
|
|
|
@ -31,7 +31,7 @@ PlainMonthDay::PlainMonthDay(u8 iso_month, u8 iso_day, i32 iso_year, Object& cal
|
|||
void PlainMonthDay::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(&m_calendar);
|
||||
visitor.visit(m_calendar);
|
||||
}
|
||||
|
||||
// 10.5.1 ToTemporalMonthDay ( item [ , options ] ), https://tc39.es/proposal-temporal/#sec-temporal-totemporalmonthday
|
||||
|
|
|
@ -28,10 +28,10 @@ private:
|
|||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
// 10.4 Properties of Temporal.PlainMonthDay Instances, https://tc39.es/proposal-temporal/#sec-properties-of-temporal-plainmonthday-instances
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 0 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 0 }; // [[ISODay]]
|
||||
Object& m_calendar; // [[Calendar]]
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 0 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 0 }; // [[ISODay]]
|
||||
NonnullGCPtr<Object> m_calendar; // [[Calendar]]
|
||||
};
|
||||
|
||||
struct ISOMonthDay {
|
||||
|
|
|
@ -38,7 +38,7 @@ PlainTime::PlainTime(u8 iso_hour, u8 iso_minute, u8 iso_second, u16 iso_millisec
|
|||
void PlainTime::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(&m_calendar);
|
||||
visitor.visit(m_calendar);
|
||||
}
|
||||
|
||||
// 4.5.1 DifferenceTime ( h1, min1, s1, ms1, mus1, ns1, h2, min2, s2, ms2, mus2, ns2 ), https://tc39.es/proposal-temporal/#sec-temporal-differencetime
|
||||
|
|
|
@ -36,13 +36,13 @@ private:
|
|||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
// 4.4 Properties of Temporal.PlainTime Instances, https://tc39.es/proposal-temporal/#sec-properties-of-temporal-plaintime-instances
|
||||
u8 m_iso_hour { 0 }; // [[ISOHour]]
|
||||
u8 m_iso_minute { 0 }; // [[ISOMinute]]
|
||||
u8 m_iso_second { 0 }; // [[ISOSecond]]
|
||||
u16 m_iso_millisecond { 0 }; // [[ISOMillisecond]]
|
||||
u16 m_iso_microsecond { 0 }; // [[ISOMicrosecond]]
|
||||
u16 m_iso_nanosecond { 0 }; // [[ISONanosecond]]
|
||||
Calendar& m_calendar; // [[Calendar]] (always the built-in ISO 8601 calendar)
|
||||
u8 m_iso_hour { 0 }; // [[ISOHour]]
|
||||
u8 m_iso_minute { 0 }; // [[ISOMinute]]
|
||||
u8 m_iso_second { 0 }; // [[ISOSecond]]
|
||||
u16 m_iso_millisecond { 0 }; // [[ISOMillisecond]]
|
||||
u16 m_iso_microsecond { 0 }; // [[ISOMicrosecond]]
|
||||
u16 m_iso_nanosecond { 0 }; // [[ISONanosecond]]
|
||||
NonnullGCPtr<Calendar> m_calendar; // [[Calendar]] (always the built-in ISO 8601 calendar)
|
||||
};
|
||||
|
||||
struct DaysAndTime {
|
||||
|
|
|
@ -30,7 +30,7 @@ PlainYearMonth::PlainYearMonth(i32 iso_year, u8 iso_month, u8 iso_day, Object& c
|
|||
void PlainYearMonth::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(&m_calendar);
|
||||
visitor.visit(m_calendar);
|
||||
}
|
||||
|
||||
// 9.5.1 ToTemporalYearMonth ( item [ , options ] ), https://tc39.es/proposal-temporal/#sec-temporal-totemporalyearmonth
|
||||
|
|
|
@ -29,10 +29,10 @@ private:
|
|||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
// 9.4 Properties of Temporal.PlainYearMonth Instances, https://tc39.es/proposal-temporal/#sec-properties-of-temporal-plainyearmonth-instances
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 0 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 0 }; // [[ISODay]]
|
||||
Object& m_calendar; // [[Calendar]]
|
||||
i32 m_iso_year { 0 }; // [[ISOYear]]
|
||||
u8 m_iso_month { 0 }; // [[ISOMonth]]
|
||||
u8 m_iso_day { 0 }; // [[ISODay]]
|
||||
NonnullGCPtr<Object> m_calendar; // [[Calendar]]
|
||||
};
|
||||
|
||||
struct ISOYearMonth {
|
||||
|
|
|
@ -33,9 +33,9 @@ void ZonedDateTime::visit_edges(Cell::Visitor& visitor)
|
|||
{
|
||||
Base::visit_edges(visitor);
|
||||
|
||||
visitor.visit(&m_nanoseconds);
|
||||
visitor.visit(&m_time_zone);
|
||||
visitor.visit(&m_calendar);
|
||||
visitor.visit(m_nanoseconds);
|
||||
visitor.visit(m_time_zone);
|
||||
visitor.visit(m_calendar);
|
||||
}
|
||||
|
||||
// 6.5.1 InterpretISODateTimeOffset ( year, month, day, hour, minute, second, millisecond, microsecond, nanosecond, offsetBehaviour, offsetNanoseconds, timeZone, disambiguation, offsetOption, matchBehaviour ), https://tc39.es/proposal-temporal/#sec-temporal-interpretisodatetimeoffset
|
||||
|
|
|
@ -30,9 +30,9 @@ private:
|
|||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
// 6.4 Properties of Temporal.ZonedDateTime Instances, https://tc39.es/proposal-temporal/#sec-properties-of-temporal-zoneddatetime-instances
|
||||
BigInt const& m_nanoseconds; // [[Nanoseconds]]
|
||||
Object& m_time_zone; // [[TimeZone]]
|
||||
Object& m_calendar; // [[Calendar]]
|
||||
NonnullGCPtr<BigInt const> m_nanoseconds; // [[Nanoseconds]]
|
||||
NonnullGCPtr<Object> m_time_zone; // [[TimeZone]]
|
||||
NonnullGCPtr<Object> m_calendar; // [[Calendar]]
|
||||
};
|
||||
|
||||
struct NanosecondsToDaysResult {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue