This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,178 @@
using System;
using System.Collections;
using System.IO;
namespace System.Globalization
{
// Token: 0x02000175 RID: 373
[Serializable]
internal class CCGregorianEraHandler
{
// Token: 0x06001215 RID: 4629 RVA: 0x00046F28 File Offset: 0x00045128
public CCGregorianEraHandler()
{
this._Eras = new SortedList();
}
// Token: 0x17000305 RID: 773
// (get) Token: 0x06001216 RID: 4630 RVA: 0x00046F3C File Offset: 0x0004513C
public int[] Eras
{
get
{
int[] array = new int[this._Eras.Count];
for (int i = 0; i < this._Eras.Count; i++)
{
array[i] = ((CCGregorianEraHandler.Era)this._Eras.GetByIndex(i)).Nr;
}
return array;
}
}
// Token: 0x06001217 RID: 4631 RVA: 0x00046F94 File Offset: 0x00045194
public void appendEra(int nr, int rd_start, int rd_end)
{
CCGregorianEraHandler.Era era = new CCGregorianEraHandler.Era(nr, rd_start, rd_end);
this._Eras[nr] = era;
}
// Token: 0x06001218 RID: 4632 RVA: 0x00046FC4 File Offset: 0x000451C4
public void appendEra(int nr, int rd_start)
{
this.appendEra(nr, rd_start, CCFixed.FromDateTime(DateTime.MaxValue));
}
// Token: 0x06001219 RID: 4633 RVA: 0x00046FD8 File Offset: 0x000451D8
public int GregorianYear(int year, int era)
{
return ((CCGregorianEraHandler.Era)this._Eras[era]).GregorianYear(year);
}
// Token: 0x0600121A RID: 4634 RVA: 0x00047004 File Offset: 0x00045204
public int EraYear(out int era, int date)
{
IList valueList = this._Eras.GetValueList();
foreach (object obj in valueList)
{
CCGregorianEraHandler.Era era2 = (CCGregorianEraHandler.Era)obj;
if (era2.Covers(date))
{
return era2.EraYear(out era, date);
}
}
throw new ArgumentOutOfRangeException("date", "Time value was out of era range.");
}
// Token: 0x0600121B RID: 4635 RVA: 0x000470A4 File Offset: 0x000452A4
public void CheckDateTime(DateTime time)
{
int num = CCFixed.FromDateTime(time);
if (!this.ValidDate(num))
{
throw new ArgumentOutOfRangeException("time", "Time value was out of era range.");
}
}
// Token: 0x0600121C RID: 4636 RVA: 0x000470D4 File Offset: 0x000452D4
public bool ValidDate(int date)
{
IList valueList = this._Eras.GetValueList();
foreach (object obj in valueList)
{
if (((CCGregorianEraHandler.Era)obj).Covers(date))
{
return true;
}
}
return false;
}
// Token: 0x0600121D RID: 4637 RVA: 0x00047160 File Offset: 0x00045360
public bool ValidEra(int era)
{
return this._Eras.Contains(era);
}
// Token: 0x040004AA RID: 1194
private SortedList _Eras;
// Token: 0x02000176 RID: 374
[Serializable]
private struct Era
{
// Token: 0x0600121E RID: 4638 RVA: 0x00047174 File Offset: 0x00045374
public Era(int nr, int start, int end)
{
if (nr == 0)
{
throw new ArgumentException("Era number shouldn't be zero.");
}
this._nr = nr;
if (start > end)
{
throw new ArgumentException("Era should start before end.");
}
this._start = start;
this._end = end;
this._gregorianYearStart = CCGregorianCalendar.year_from_fixed(this._start);
int num = CCGregorianCalendar.year_from_fixed(this._end);
this._maxYear = num - this._gregorianYearStart + 1;
}
// Token: 0x17000306 RID: 774
// (get) Token: 0x0600121F RID: 4639 RVA: 0x000471E8 File Offset: 0x000453E8
public int Nr
{
get
{
return this._nr;
}
}
// Token: 0x06001220 RID: 4640 RVA: 0x000471F0 File Offset: 0x000453F0
public int GregorianYear(int year)
{
if (year < 1 || year > this._maxYear)
{
StringWriter stringWriter = new StringWriter();
stringWriter.Write("Valid Values are between {0} and {1}, inclusive.", 1, this._maxYear);
throw new ArgumentOutOfRangeException("year", stringWriter.ToString());
}
return year + this._gregorianYearStart - 1;
}
// Token: 0x06001221 RID: 4641 RVA: 0x00047250 File Offset: 0x00045450
public bool Covers(int date)
{
return this._start <= date && date <= this._end;
}
// Token: 0x06001222 RID: 4642 RVA: 0x00047270 File Offset: 0x00045470
public int EraYear(out int era, int date)
{
if (!this.Covers(date))
{
throw new ArgumentOutOfRangeException("date", "Time was out of Era range.");
}
int num = CCGregorianCalendar.year_from_fixed(date);
era = this._nr;
return num - this._gregorianYearStart + 1;
}
// Token: 0x040004AB RID: 1195
private int _nr;
// Token: 0x040004AC RID: 1196
private int _start;
// Token: 0x040004AD RID: 1197
private int _gregorianYearStart;
// Token: 0x040004AE RID: 1198
private int _end;
// Token: 0x040004AF RID: 1199
private int _maxYear;
}
}
}