New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review nullability of all reference type occurrences in the API #1275

Closed
jskeet opened this Issue Feb 5, 2019 · 2 comments

Comments

Projects
None yet
1 participant
@jskeet
Copy link
Member

jskeet commented Feb 5, 2019

(We may want tooling to make this simpler, e.g. listing all methods/properties which mention any reference types anywhere.)

@jskeet jskeet self-assigned this Feb 5, 2019

@jskeet

This comment has been minimized.

Copy link
Member Author

jskeet commented Feb 7, 2019

The tool is now written. Output to review:

NodaTime

NodaTime.AmbiguousTimeException:
  DateTimeZone Zone

NodaTime.AnnualDate:
  Boolean Equals(object obj)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.CalendarSystem:
  IEnumerable<string> Ids
  CalendarSystem Iso
  CalendarSystem Badi
  string Id
  string Name
  IList<Era> Eras
  CalendarSystem Gregorian
  CalendarSystem Julian
  CalendarSystem Coptic
  CalendarSystem IslamicBcl
  CalendarSystem PersianSimple
  CalendarSystem PersianArithmetic
  CalendarSystem PersianAstronomical
  CalendarSystem HebrewCivil
  CalendarSystem HebrewScriptural
  CalendarSystem UmAlQura
  CalendarSystem ForId(string id)
  CalendarSystem GetHebrewCalendar(HebrewMonthNumbering monthNumbering)
  CalendarSystem GetIslamicCalendar(IslamicLeapYearPattern leapYearPattern, IslamicEpoch epoch)
  int GetAbsoluteYear(int yearOfEra, Era era)
  int GetMaxYearOfEra(Era era)
  int GetMinYearOfEra(Era era)
  string ToString()

NodaTime.DateAdjusters:
  Func<LocalDate, LocalDate> StartOfMonth
  Func<LocalDate, LocalDate> EndOfMonth
  Func<LocalDate, LocalDate> DayOfMonth(int day)
  Func<LocalDate, LocalDate> Month(int month)
  Func<LocalDate, LocalDate> NextOrSame(IsoDayOfWeek dayOfWeek)
  Func<LocalDate, LocalDate> PreviousOrSame(IsoDayOfWeek dayOfWeek)
  Func<LocalDate, LocalDate> Next(IsoDayOfWeek dayOfWeek)
  Func<LocalDate, LocalDate> Previous(IsoDayOfWeek dayOfWeek)

NodaTime.DateInterval:
  CalendarSystem Calendar
  Boolean Equals(DateInterval? other)
  Boolean Equals(object obj)
  Boolean Contains(DateInterval interval)
  string ToString()
  DateInterval? Intersection(DateInterval interval)
  DateInterval? Union(DateInterval interval)
  IEnumerator<LocalDate> GetEnumerator()

NodaTime.DateTimeZone:
  DateTimeZone Utc
  string Id
  DateTimeZone ForOffset(Offset offset)
  ZoneInterval GetZoneInterval(Instant instant)
  ZoneLocalMapping MapLocal(LocalDateTime localDateTime)
  ZonedDateTime ResolveLocal(LocalDateTime localDateTime, ZoneLocalMappingResolver resolver)
  string ToString()
  IEnumerable<ZoneInterval> GetZoneIntervals(Instant start, Instant end)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval, Options options)

NodaTime.DateTimeZoneProviders:
  IDateTimeZoneProvider Tzdb
  IDateTimeZoneProvider Bcl
  IDateTimeZoneProvider Serialization

NodaTime.Duration:
  Boolean Equals(object obj)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.IDateTimeZoneProvider:
  string VersionId
  ReadOnlyCollection<string> Ids
  DateTimeZone Item[string id]
  DateTimeZone GetSystemDefault()
  DateTimeZone? GetZoneOrNull(string id)

NodaTime.Instant:
  Boolean Equals(object obj)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)
  ZonedDateTime InZone(DateTimeZone zone)
  ZonedDateTime InZone(DateTimeZone zone, CalendarSystem calendar)
  OffsetDateTime WithOffset(Offset offset, CalendarSystem calendar)

NodaTime.Interval:
  Boolean Equals(object obj)
  string ToString()

NodaTime.LocalDate:
  LocalDate(int year, int month, int day, CalendarSystem calendar)
  LocalDate(Era era, int yearOfEra, int month, int day)
  LocalDate(Era era, int yearOfEra, int month, int day, CalendarSystem calendar)
  CalendarSystem Calendar
  Era Era
  LocalDate FromDateTime(DateTime dateTime, CalendarSystem calendar)
  LocalDate Add(LocalDate date, Period period)
  LocalDate Plus(Period period)
  LocalDate Subtract(LocalDate date, Period period)
  LocalDate Minus(Period period)
  Period Subtract(LocalDate lhs, LocalDate rhs)
  Period Minus(LocalDate date)
  Boolean Equals(object obj)
  ZonedDateTime AtStartOfDayInZone(DateTimeZone zone)
  LocalDate WithCalendar(CalendarSystem calendar)
  LocalDate With(Func<LocalDate, LocalDate> adjuster)
  void Deconstruct(out int year, out int month, out int day, out CalendarSystem calendar)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.LocalDateTime:
  LocalDateTime(int year, int month, int day, int hour, int minute, CalendarSystem calendar)
  LocalDateTime(int year, int month, int day, int hour, int minute, int second, CalendarSystem calendar)
  LocalDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, CalendarSystem calendar)
  CalendarSystem Calendar
  Era Era
  LocalDateTime FromDateTime(DateTime dateTime, CalendarSystem calendar)
  LocalDateTime Add(LocalDateTime localDateTime, Period period)
  LocalDateTime Plus(Period period)
  LocalDateTime Subtract(LocalDateTime localDateTime, Period period)
  LocalDateTime Minus(Period period)
  Period Subtract(LocalDateTime lhs, LocalDateTime rhs)
  Period Minus(LocalDateTime localDateTime)
  Boolean Equals(object obj)
  LocalDateTime With(Func<LocalDate, LocalDate> adjuster)
  LocalDateTime With(Func<LocalTime, LocalTime> adjuster)
  LocalDateTime WithCalendar(CalendarSystem calendar)
  ZonedDateTime InZoneStrictly(DateTimeZone zone)
  ZonedDateTime InZoneLeniently(DateTimeZone zone)
  ZonedDateTime InZone(DateTimeZone zone, ZoneLocalMappingResolver resolver)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.LocalTime:
  LocalTime Add(LocalTime time, Period period)
  LocalTime Plus(Period period)
  LocalTime Subtract(LocalTime time, Period period)
  LocalTime Minus(Period period)
  Period Subtract(LocalTime lhs, LocalTime rhs)
  Period Minus(LocalTime time)
  Boolean Equals(object obj)
  LocalTime With(Func<LocalTime, LocalTime> adjuster)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.Offset:
  Boolean Equals(object obj)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.OffsetDate:
  CalendarSystem Calendar
  Era Era
  OffsetDate With(Func<LocalDate, LocalDate> adjuster)
  OffsetDate WithCalendar(CalendarSystem calendar)
  Boolean Equals(object obj)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.OffsetDateTime:
  CalendarSystem Calendar
  Era Era
  ZonedDateTime InZone(DateTimeZone zone)
  OffsetDateTime WithCalendar(CalendarSystem calendar)
  OffsetDateTime With(Func<LocalDate, LocalDate> adjuster)
  OffsetDateTime With(Func<LocalTime, LocalTime> adjuster)
  Boolean Equals(object obj)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.OffsetTime:
  OffsetTime With(Func<LocalTime, LocalTime> adjuster)
  Boolean Equals(object obj)
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)

NodaTime.Period:
  Period Zero
  IEqualityComparer<Period?> NormalizingEqualityComparer
  Period FromYears(int years)
  Period FromMonths(int months)
  Period FromWeeks(int weeks)
  Period FromDays(int days)
  Period FromHours(long hours)
  Period FromMinutes(long minutes)
  Period FromSeconds(long seconds)
  Period FromMilliseconds(long milliseconds)
  Period FromTicks(long ticks)
  Period FromNanoseconds(long nanoseconds)
  IComparer<Period?> CreateComparer(LocalDateTime baseDateTime)
  Period Between(LocalDateTime start, LocalDateTime end, PeriodUnits units)
  Period Between(LocalDateTime start, LocalDateTime end)
  Period Between(LocalDate start, LocalDate end, PeriodUnits units)
  Period Between(LocalDate start, LocalDate end)
  Period Between(LocalTime start, LocalTime end, PeriodUnits units)
  Period Between(LocalTime start, LocalTime end)
  PeriodBuilder ToBuilder()
  Period Normalize()
  string ToString()
  Boolean Equals(object? other)
  Boolean Equals(Period? other)

NodaTime.PeriodBuilder:
  PeriodBuilder(Period period)
  Period Build()

NodaTime.SkippedTimeException:
  SkippedTimeException(LocalDateTime localDateTime, DateTimeZone zone)
  DateTimeZone Zone

NodaTime.SystemClock:
  SystemClock Instance

NodaTime.TimeAdjusters:
  Func<LocalTime, LocalTime> TruncateToSecond
  Func<LocalTime, LocalTime> TruncateToMinute
  Func<LocalTime, LocalTime> TruncateToHour

NodaTime.ZonedClock:
  ZonedClock(IClock clock, DateTimeZone zone, CalendarSystem calendar)

NodaTime.ZonedDateTime:
  ZonedDateTime(Instant instant, DateTimeZone zone, CalendarSystem calendar)
  ZonedDateTime(Instant instant, DateTimeZone zone)
  ZonedDateTime(LocalDateTime localDateTime, DateTimeZone zone, Offset offset)
  DateTimeZone Zone
  CalendarSystem Calendar
  Era Era
  ZonedDateTime WithZone(DateTimeZone targetZone)
  ZonedDateTime WithCalendar(CalendarSystem calendar)
  Boolean Equals(object obj)
  ZoneInterval GetZoneInterval()
  string ToString()
  string ToString(string? patternText, IFormatProvider? formatProvider)
  void Deconstruct(out LocalDateTime localDateTime, out DateTimeZone dateTimeZone, out Offset offset)

NodaTime.Calendars.Era:
  Era Common
  Era BeforeCommon
  Era AnnoMartyrum
  Era AnnoHegirae
  Era AnnoMundi
  Era AnnoPersico
  Era Bahai
  string Name
  string ToString()

NodaTime.Calendars.IWeekYearRule:
  LocalDate GetLocalDate(int weekYear, int weekOfWeekYear, IsoDayOfWeek dayOfWeek, CalendarSystem calendar)
  int GetWeeksInWeekYear(int weekYear, CalendarSystem calendar)

NodaTime.Calendars.WeekYearRuleExtensions:
  LocalDate GetLocalDate(IWeekYearRule rule, int weekYear, int weekOfWeekYear, IsoDayOfWeek dayOfWeek)
  int GetWeeksInWeekYear(IWeekYearRule rule, int weekYear)

NodaTime.Calendars.WeekYearRules:
  IWeekYearRule Iso
  IWeekYearRule ForMinDaysInFirstWeek(int minDaysInFirstWeek)
  IWeekYearRule ForMinDaysInFirstWeek(int minDaysInFirstWeek, IsoDayOfWeek firstDayOfWeek)
  IWeekYearRule FromCalendarWeekRule(CalendarWeekRule calendarWeekRule, DayOfWeek firstDayOfWeek)

NodaTime.Extensions.ClockExtensions:
  ZonedClock InZone(IClock clock, DateTimeZone zone)
  ZonedClock InZone(IClock clock, DateTimeZone zone, CalendarSystem calendar)
  ZonedClock InUtc(IClock clock)
  ZonedClock InTzdbSystemDefaultZone(IClock clock)
  ZonedClock InBclSystemDefaultZone(IClock clock)

NodaTime.Extensions.DateTimeZoneProviderExtensions:
  IEnumerable<DateTimeZone> GetAllZones(IDateTimeZoneProvider provider)

NodaTime.Extensions.StopwatchExtensions:
  Duration ElapsedDuration(Stopwatch stopwatch)

NodaTime.Text.AnnualDatePattern:
  AnnualDatePattern Iso
  string PatternText
  ParseResult<AnnualDate> Parse(string text)
  string Format(AnnualDate value)
  StringBuilder AppendFormat(AnnualDate value, StringBuilder builder)
  AnnualDatePattern Create(string patternText, CultureInfo cultureInfo, AnnualDate templateValue)
  AnnualDatePattern Create(string patternText, CultureInfo cultureInfo)
  AnnualDatePattern CreateWithCurrentCulture(string patternText)
  AnnualDatePattern CreateWithInvariantCulture(string patternText)
  AnnualDatePattern WithCulture(CultureInfo cultureInfo)
  AnnualDatePattern WithTemplateValue(AnnualDate newTemplateValue)

NodaTime.Text.CompositePatternBuilder`1:
  void Add(IPattern<T> pattern, Func<T, Boolean> formatPredicate)
  IPattern<T> Build()

NodaTime.Text.DurationPattern:
  DurationPattern Roundtrip
  string PatternText
  ParseResult<Duration> Parse(string text)
  string Format(Duration value)
  StringBuilder AppendFormat(Duration value, StringBuilder builder)
  DurationPattern Create(string patternText, CultureInfo cultureInfo)
  DurationPattern CreateWithCurrentCulture(string patternText)
  DurationPattern CreateWithInvariantCulture(string patternText)
  DurationPattern WithCulture(CultureInfo cultureInfo)

NodaTime.Text.InstantPattern:
  InstantPattern General
  InstantPattern ExtendedIso
  string PatternText
  ParseResult<Instant> Parse(string text)
  string Format(Instant value)
  StringBuilder AppendFormat(Instant value, StringBuilder builder)
  InstantPattern Create(string patternText, CultureInfo cultureInfo)
  InstantPattern CreateWithCurrentCulture(string patternText)
  InstantPattern CreateWithInvariantCulture(string patternText)
  InstantPattern WithCulture(CultureInfo cultureInfo)

NodaTime.Text.InvalidPatternException:
  InvalidPatternException(string message)

NodaTime.Text.IPattern`1:
  ParseResult<T> Parse(string text)
  string Format(T value)
  StringBuilder AppendFormat(T value, StringBuilder builder)

NodaTime.Text.LocalDatePattern:
  LocalDatePattern Iso
  string PatternText
  ParseResult<LocalDate> Parse(string text)
  string Format(LocalDate value)
  StringBuilder AppendFormat(LocalDate value, StringBuilder builder)
  LocalDatePattern Create(string patternText, CultureInfo cultureInfo, LocalDate templateValue)
  LocalDatePattern Create(string patternText, CultureInfo cultureInfo)
  LocalDatePattern CreateWithCurrentCulture(string patternText)
  LocalDatePattern CreateWithInvariantCulture(string patternText)
  LocalDatePattern WithCulture(CultureInfo cultureInfo)
  LocalDatePattern WithTemplateValue(LocalDate newTemplateValue)
  LocalDatePattern WithCalendar(CalendarSystem calendar)

NodaTime.Text.LocalDateTimePattern:
  LocalDateTimePattern GeneralIso
  LocalDateTimePattern ExtendedIso
  LocalDateTimePattern BclRoundtrip
  LocalDateTimePattern FullRoundtripWithoutCalendar
  LocalDateTimePattern FullRoundtrip
  string PatternText
  ParseResult<LocalDateTime> Parse(string text)
  string Format(LocalDateTime value)
  StringBuilder AppendFormat(LocalDateTime value, StringBuilder builder)
  LocalDateTimePattern Create(string patternText, CultureInfo cultureInfo, LocalDateTime templateValue)
  LocalDateTimePattern Create(string patternText, CultureInfo cultureInfo)
  LocalDateTimePattern CreateWithCurrentCulture(string patternText)
  LocalDateTimePattern CreateWithInvariantCulture(string patternText)
  LocalDateTimePattern WithCulture(CultureInfo cultureInfo)
  LocalDateTimePattern WithTemplateValue(LocalDateTime newTemplateValue)
  LocalDateTimePattern WithCalendar(CalendarSystem calendar)

NodaTime.Text.LocalTimePattern:
  LocalTimePattern ExtendedIso
  string PatternText
  ParseResult<LocalTime> Parse(string text)
  string Format(LocalTime value)
  StringBuilder AppendFormat(LocalTime value, StringBuilder builder)
  LocalTimePattern Create(string patternText, CultureInfo cultureInfo, LocalTime templateValue)
  LocalTimePattern Create(string patternText, CultureInfo cultureInfo)
  LocalTimePattern CreateWithCurrentCulture(string patternText)
  LocalTimePattern CreateWithInvariantCulture(string patternText)
  LocalTimePattern WithCulture(CultureInfo cultureInfo)
  LocalTimePattern WithTemplateValue(LocalTime newTemplateValue)

NodaTime.Text.OffsetDatePattern:
  OffsetDatePattern GeneralIso
  OffsetDatePattern FullRoundtrip
  string PatternText
  ParseResult<OffsetDate> Parse(string text)
  string Format(OffsetDate value)
  StringBuilder AppendFormat(OffsetDate value, StringBuilder builder)
  OffsetDatePattern Create(string patternText, CultureInfo cultureInfo, OffsetDate templateValue)
  OffsetDatePattern CreateWithInvariantCulture(string patternText)
  OffsetDatePattern CreateWithCurrentCulture(string patternText)
  OffsetDatePattern WithPatternText(string patternText)
  OffsetDatePattern WithCulture(CultureInfo cultureInfo)
  OffsetDatePattern WithTemplateValue(OffsetDate newTemplateValue)
  OffsetDatePattern WithCalendar(CalendarSystem calendar)

NodaTime.Text.OffsetDateTimePattern:
  OffsetDateTimePattern GeneralIso
  OffsetDateTimePattern ExtendedIso
  OffsetDateTimePattern Rfc3339
  OffsetDateTimePattern FullRoundtrip
  string PatternText
  ParseResult<OffsetDateTime> Parse(string text)
  string Format(OffsetDateTime value)
  StringBuilder AppendFormat(OffsetDateTime value, StringBuilder builder)
  OffsetDateTimePattern Create(string patternText, CultureInfo cultureInfo, OffsetDateTime templateValue)
  OffsetDateTimePattern CreateWithInvariantCulture(string patternText)
  OffsetDateTimePattern CreateWithCurrentCulture(string patternText)
  OffsetDateTimePattern WithPatternText(string patternText)
  OffsetDateTimePattern WithCulture(CultureInfo cultureInfo)
  OffsetDateTimePattern WithTemplateValue(OffsetDateTime newTemplateValue)
  OffsetDateTimePattern WithCalendar(CalendarSystem calendar)

NodaTime.Text.OffsetPattern:
  OffsetPattern GeneralInvariant
  OffsetPattern GeneralInvariantWithZ
  string PatternText
  ParseResult<Offset> Parse(string text)
  string Format(Offset value)
  StringBuilder AppendFormat(Offset value, StringBuilder builder)
  OffsetPattern Create(string patternText, CultureInfo cultureInfo)
  OffsetPattern CreateWithCurrentCulture(string patternText)
  OffsetPattern CreateWithInvariantCulture(string patternText)
  OffsetPattern WithCulture(CultureInfo cultureInfo)

NodaTime.Text.OffsetTimePattern:
  OffsetTimePattern GeneralIso
  OffsetTimePattern ExtendedIso
  OffsetTimePattern Rfc3339
  string PatternText
  ParseResult<OffsetTime> Parse(string text)
  string Format(OffsetTime value)
  StringBuilder AppendFormat(OffsetTime value, StringBuilder builder)
  OffsetTimePattern Create(string patternText, CultureInfo cultureInfo, OffsetTime templateValue)
  OffsetTimePattern CreateWithInvariantCulture(string patternText)
  OffsetTimePattern CreateWithCurrentCulture(string patternText)
  OffsetTimePattern WithPatternText(string patternText)
  OffsetTimePattern WithCulture(CultureInfo cultureInfo)
  OffsetTimePattern WithTemplateValue(OffsetTime newTemplateValue)

NodaTime.Text.ParseResult`1:
  T Value
  Exception Exception
  T GetValueOrThrow()
  Boolean TryGetValue(T failureValue, out T result)
  ParseResult<TTarget> Convert(Func<T, TTarget> projection)
  ParseResult<TTarget> ConvertError()
  ParseResult<T> ForValue(T value)
  ParseResult<T> ForException(Func<Exception> exceptionProvider)

NodaTime.Text.PeriodPattern:
  PeriodPattern Roundtrip
  PeriodPattern NormalizingIso
  ParseResult<Period> Parse(string text)
  string Format(Period value)
  StringBuilder AppendFormat(Period value, StringBuilder builder)

NodaTime.Text.UnparsableValueException:
  UnparsableValueException(string message)

NodaTime.Text.ZonedDateTimePattern:
  ZonedDateTimePattern GeneralFormatOnlyIso
  ZonedDateTimePattern ExtendedFormatOnlyIso
  string PatternText
  ZoneLocalMappingResolver? Resolver
  IDateTimeZoneProvider? ZoneProvider
  ParseResult<ZonedDateTime> Parse(string text)
  string Format(ZonedDateTime value)
  StringBuilder AppendFormat(ZonedDateTime value, StringBuilder builder)
  ZonedDateTimePattern Create(string patternText, CultureInfo cultureInfo, ZoneLocalMappingResolver? resolver, IDateTimeZoneProvider? zoneProvider, ZonedDateTime templateValue)
  ZonedDateTimePattern CreateWithInvariantCulture(string patternText, IDateTimeZoneProvider? zoneProvider)
  ZonedDateTimePattern CreateWithCurrentCulture(string patternText, IDateTimeZoneProvider? zoneProvider)
  ZonedDateTimePattern WithPatternText(string patternText)
  ZonedDateTimePattern WithCulture(CultureInfo cultureInfo)
  ZonedDateTimePattern WithResolver(ZoneLocalMappingResolver? resolver)
  ZonedDateTimePattern WithZoneProvider(IDateTimeZoneProvider? newZoneProvider)
  ZonedDateTimePattern WithTemplateValue(ZonedDateTime newTemplateValue)
  ZonedDateTimePattern WithCalendar(CalendarSystem calendar)

NodaTime.TimeZones.BclDateTimeZone:
  TimeZoneInfo OriginalZone
  string DisplayName
  ZoneInterval GetZoneInterval(Instant instant)
  BclDateTimeZone FromTimeZoneInfo(TimeZoneInfo bclZone)
  BclDateTimeZone ForSystemDefault()
  ZoneLocalMapping MapLocal(LocalDateTime localDateTime)
  ZonedDateTime ResolveLocal(LocalDateTime localDateTime, ZoneLocalMappingResolver resolver)
  string ToString()
  IEnumerable<ZoneInterval> GetZoneIntervals(Instant start, Instant end)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval, Options options)

NodaTime.TimeZones.BclDateTimeZoneSource:
  string VersionId
  IEnumerable<string> GetIds()
  BclDateTimeZone ForId(string id)
  string? GetSystemDefaultId()

NodaTime.TimeZones.DateTimeZoneCache:
  DateTimeZoneCache(IDateTimeZoneSource source)
  string VersionId
  ReadOnlyCollection<string> Ids
  DateTimeZone Item[string id]
  DateTimeZone GetSystemDefault()
  DateTimeZone? GetZoneOrNull(string id)

NodaTime.TimeZones.DateTimeZoneNotFoundException:
  DateTimeZoneNotFoundException(string message)

NodaTime.TimeZones.IDateTimeZoneSource:
  string VersionId
  IEnumerable<string> GetIds()
  DateTimeZone ForId(string id)
  string? GetSystemDefaultId()

NodaTime.TimeZones.InvalidDateTimeZoneSourceException:
  InvalidDateTimeZoneSourceException(string message)

NodaTime.TimeZones.Resolvers:
  AmbiguousTimeResolver ReturnEarlier
  AmbiguousTimeResolver ReturnLater
  AmbiguousTimeResolver ThrowWhenAmbiguous
  SkippedTimeResolver ReturnEndOfIntervalBefore
  SkippedTimeResolver ReturnStartOfIntervalAfter
  SkippedTimeResolver ReturnForwardShifted
  SkippedTimeResolver ThrowWhenSkipped
  ZoneLocalMappingResolver StrictResolver
  ZoneLocalMappingResolver LenientResolver
  ZoneLocalMappingResolver CreateMappingResolver(AmbiguousTimeResolver ambiguousTimeResolver, SkippedTimeResolver skippedTimeResolver)

NodaTime.TimeZones.TzdbDateTimeZoneSource:
  TzdbDateTimeZoneSource Default
  ILookup<string, string> Aliases
  IDictionary<string, string> CanonicalIdMap
  IList<TzdbZoneLocation>? ZoneLocations
  IList<TzdbZone1970Location>? Zone1970Locations
  string VersionId
  string TzdbVersion
  WindowsZones WindowsMapping
  TzdbDateTimeZoneSource FromStream(Stream stream)
  DateTimeZone ForId(string id)
  IEnumerable<string> GetIds()
  string? GetSystemDefaultId()

NodaTime.TimeZones.TzdbZone1970Location:
  TzdbZone1970Location(int latitudeSeconds, int longitudeSeconds, IEnumerable<Country> countries, string zoneId, string comment)
  IList<Country> Countries
  string ZoneId
  string Comment

NodaTime.TimeZones.TzdbZoneLocation:
  TzdbZoneLocation(int latitudeSeconds, int longitudeSeconds, string countryName, string countryCode, string zoneId, string comment)
  string CountryName
  string CountryCode
  string ZoneId
  string Comment

NodaTime.TimeZones.ZoneEqualityComparer:
  ZoneEqualityComparer ForInterval(Interval interval)
  ZoneEqualityComparer WithOptions(Options options)
  Boolean Equals(DateTimeZone? x, DateTimeZone? y)
  int GetHashCode(DateTimeZone? obj)

NodaTime.TimeZones.ZoneInterval:
  ZoneInterval(string name, Nullable`1 start, Nullable`1 end, Offset wallOffset, Offset savings)
  string Name
  Boolean Equals(ZoneInterval? other)
  Boolean Equals(object obj)
  string ToString()

NodaTime.TimeZones.ZoneLocalMapping:
  DateTimeZone Zone
  ZoneInterval EarlyInterval
  ZoneInterval LateInterval

NodaTime.TimeZones.Cldr.MapZone:
  MapZone(string windowsId, string territory, IList<string> tzdbIds)
  string WindowsId
  string Territory
  IList<string> TzdbIds
  Boolean Equals(MapZone? other)
  Boolean Equals(object? obj)
  string ToString()

NodaTime.TimeZones.Cldr.WindowsZones:
  string Version
  string TzdbVersion
  string WindowsVersion
  IList<MapZone> MapZones
  IDictionary<string, string> PrimaryMapping

NodaTime.Utility.InvalidNodaDataException:
  InvalidNodaDataException(string message)
  InvalidNodaDataException(string message, Exception innerException)

NodaTime.Testing

NodaTime.Testing.FakeClock:
  FakeClock FromUtc(int year, int monthOfYear, int dayOfMonth)
  FakeClock FromUtc(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute)

NodaTime.Testing.TimeZones.FakeDateTimeZoneSource:
  string VersionId
  IDateTimeZoneProvider ToProvider()
  IEnumerable<string> GetIds()
  DateTimeZone ForId(string id)
  string? GetSystemDefaultId()

NodaTime.Testing.TimeZones.MultiTransitionDateTimeZone:
  ReadOnlyCollection<ZoneInterval> Intervals
  ReadOnlyCollection<Instant> Transitions
  ZoneInterval GetZoneInterval(Instant instant)
  ZoneLocalMapping MapLocal(LocalDateTime localDateTime)
  ZonedDateTime ResolveLocal(LocalDateTime localDateTime, ZoneLocalMappingResolver resolver)
  string ToString()
  IEnumerable<ZoneInterval> GetZoneIntervals(Instant start, Instant end)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval, Options options)

NodaTime.Testing.TimeZones.SingleTransitionDateTimeZone:
  SingleTransitionDateTimeZone(Instant transitionPoint, Offset offsetBefore, Offset offsetAfter, string id)
  ZoneInterval EarlyInterval
  ZoneInterval LateInterval
  ZoneInterval GetZoneInterval(Instant instant)
  ZoneLocalMapping MapLocal(LocalDateTime localDateTime)
  ZonedDateTime ResolveLocal(LocalDateTime localDateTime, ZoneLocalMappingResolver resolver)
  string ToString()
  IEnumerable<ZoneInterval> GetZoneIntervals(Instant start, Instant end)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval)
  IEnumerable<ZoneInterval> GetZoneIntervals(Interval interval, Options options)
@jskeet

This comment has been minimized.

Copy link
Member Author

jskeet commented Feb 14, 2019

Things to fix:

  • Boolean Equals(object obj) everywhere - should be object?
  • Missing documentation for TTarget in ParseResult<T>.ConvertTo<TTarget>.
  • Documentation for ZoneLocalMapping is formatted weirdly

jskeet added a commit to jskeet/nodatime that referenced this issue Feb 14, 2019

Fixes from API review:
- Equals(object) should accept null
- (Implementation detail) use pattern matching in Equals
- Add documentation for ParseResult.ConvertTo type parameter
- Improve formatting of documentation for ZoneLocalMapping (docfx bug?)

Fixes nodatime#1275

@jskeet jskeet closed this in #1282 Feb 14, 2019

jskeet added a commit that referenced this issue Feb 14, 2019

Fixes from API review:
- Equals(object) should accept null
- (Implementation detail) use pattern matching in Equals
- Add documentation for ParseResult.ConvertTo type parameter
- Improve formatting of documentation for ZoneLocalMapping (docfx bug?)

Fixes #1275
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment