Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 41 additions & 1 deletion mcs/class/corlib/ReferenceSources/CalendarData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,36 @@ namespace System.Globalization
[StructLayout (LayoutKind.Sequential)]
partial class CalendarData
{
private static string[] HEBREW_MONTH_NAMES = new[] {
"\u05EA\u05E9\u05E8\u05D9",
"\u05D7\u05E9\u05D5\u05DF",
"\u05DB\u05E1\u05DC\u05D5",
"\u05D8\u05D1\u05EA",
"\u05E9\u05D1\u05D8",
"\u05D0\u05D3\u05E8",
"\u05D0\u05D3\u05E8\u0020\u05D1",
"\u05E0\u05D9\u05E1\u05DF",
"\u05D0\u05D9\u05D9\u05E8",
"\u05E1\u05D9\u05D5\u05DF",
"\u05EA\u05DE\u05D5\u05D6",
"\u05D0\u05D1",
"\u05D0\u05DC\u05D5\u05DC" };

private static string[] HEBREW_LEAP_MONTH_NAMES = new[] {
"\u05EA\u05E9\u05E8\u05D9",
"\u05D7\u05E9\u05D5\u05DF",
"\u05DB\u05E1\u05DC\u05D5",
"\u05D8\u05D1\u05EA",
"\u05E9\u05D1\u05D8",
"\u05D0\u05D3\u05E8\u0020\u05D0",
"\u05D0\u05D3\u05E8\u0020\u05D1",
"\u05E0\u05D9\u05E1\u05DF",
"\u05D0\u05D9\u05D9\u05E8",
"\u05E1\u05D9\u05D5\u05DF",
"\u05EA\u05DE\u05D5\u05D6",
"\u05D0\u05D1",
"\u05D0\u05DC\u05D5\u05DC" };

public static int nativeGetTwoDigitYearMax (int calID)
{
// -1 mean OS does not override default BCL max year
Expand All @@ -43,7 +73,17 @@ public static int nativeGetTwoDigitYearMax (int calID)
static bool nativeGetCalendarData (CalendarData data, string localeName, int calendarId)
{
// TODO: Convert calendar-id to mono runtime calendar-id when it's used
return data.fill_calendar_data (localeName.ToLowerInvariant (), calendarId);
if (data.fill_calendar_data (localeName.ToLowerInvariant (), calendarId)) {
if ((CalendarId)calendarId == CalendarId.HEBREW) {
// HACK: Generate leap month names because the native code does not do it
// and tests would fail to round-trip dates on leap years.
// https://github.com/mono/mono/issues/16623
data.saMonthNames = HEBREW_MONTH_NAMES;
data.saLeapYearMonthNames = HEBREW_LEAP_MONTH_NAMES;
}
return true;
}
return false;
}

[MethodImplAttribute (MethodImplOptions.InternalCall)]
Expand Down
2 changes: 1 addition & 1 deletion mcs/class/corlib/corlib.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@
<Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\System\Globalization\DaylightTime.cs" />
<Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\System\Globalization\DigitShapes.cs" />
<Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\System\Globalization\GlobalizationExtensions.cs" />
<Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\System\Globalization\HebrewNumber.cs" />
<Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\System\Globalization\InternalGlobalizationHelper.cs" />
<Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\System\Globalization\NumberStyles.cs" />
<Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\System\Globalization\SortVersion.cs" />
Expand Down Expand Up @@ -1058,7 +1059,6 @@
<Compile Include="..\referencesource\mscorlib\system\globalization\gregoriancalendarhelper.cs" />
<Compile Include="..\referencesource\mscorlib\system\globalization\gregoriancalendartypes.cs" />
<Compile Include="..\referencesource\mscorlib\system\globalization\hebrewcalendar.cs" />
<Compile Include="..\referencesource\mscorlib\system\globalization\hebrewnumber.cs" />
<Compile Include="..\referencesource\mscorlib\system\globalization\hijricalendar.cs" />
<Compile Include="..\referencesource\mscorlib\system\globalization\japanesecalendar.cs" />
<Compile Include="..\referencesource\mscorlib\system\globalization\japaneselunisolarcalendar.cs" />
Expand Down
2 changes: 1 addition & 1 deletion mcs/class/corlib/corlib.dll.sources
Original file line number Diff line number Diff line change
Expand Up @@ -1103,7 +1103,7 @@ ReferenceSources/AppContextDefaultValues.cs
../referencesource/mscorlib/system/globalization/gregoriancalendarhelper.cs
../referencesource/mscorlib/system/globalization/gregoriancalendartypes.cs
../referencesource/mscorlib/system/globalization/hebrewcalendar.cs
../referencesource/mscorlib/system/globalization/hebrewnumber.cs
../../../external/corefx/src/Common/src/CoreLib/System/Globalization/HebrewNumber.cs
../referencesource/mscorlib/system/globalization/hijricalendar.cs
../referencesource/mscorlib/system/globalization/japanesecalendar.cs
../referencesource/mscorlib/system/globalization/japaneselunisolarcalendar.cs
Expand Down