static LongRange dateStructureToTimestampRange(DateStructures.SomeDate d, long now, bool assumeFuture) { delegate Day to DateStructures. delegate Month to DateStructures. delegate Year to DateStructures. delegate CurrentWeekPlus to DateStructures. delegate CurrentYearPlus to DateStructures. delegate Weekday to DateStructures. delegate TodayPlus to DateStructures. if (d instanceof CurrentYearPlus) d = new Year(year(now) + ((CurrentYearPlus) d).nYears); if (d cast Year) ret longRange(yearToTimestamp(d.year), yearToTimestamp(d.year+1)); fail("dateStructureToTimestampRange: unknown type" + d); }