Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetHashCode() [9/29]

override int System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.GetHashCode ( )
inline

Definition at line 1397 of file ValueTuple.cs.

1398 {
1399 T1 val;
1400 int value;
1401 if (!(Rest is IValueTupleInternal))
1402 {
1403 ref T1 reference = ref Item1;
1404 val = default(T1);
1405 if (val == null)
1406 {
1407 val = reference;
1408 reference = ref val;
1409 if (val == null)
1410 {
1411 value = 0;
1412 goto IL_004a;
1413 }
1414 }
1415 value = reference.GetHashCode();
1416 goto IL_004a;
1417 }
1418 int length = ((IValueTupleInternal)(object)Rest).Length;
1419 int hashCode = Rest.GetHashCode();
1420 if (length >= 8)
1421 {
1422 return hashCode;
1423 }
1424 T7 val2;
1425 int value24;
1426 T6 val7;
1427 int value12;
1428 T5 val5;
1429 int value10;
1430 T4 val3;
1431 int value5;
1432 T3 val6;
1433 int value26;
1434 T2 val4;
1435 int value27;
1436 int value2;
1437 ref T7 reference3;
1438 int value3;
1439 ref T4 reference4;
1440 int value4;
1441 int value6;
1442 int value7;
1443 int value8;
1444 ref T2 reference5;
1445 int value9;
1446 ref T5 reference7;
1447 int value11;
1448 int value13;
1449 ref T3 reference8;
1450 int value14;
1451 ref T6 reference9;
1452 int value15;
1453 ref T6 reference10;
1454 int value16;
1455 ref T5 reference11;
1456 int value17;
1457 ref T4 reference12;
1458 int value18;
1459 ref T6 reference13;
1460 int value19;
1461 ref T6 reference14;
1462 ref T7 reference15;
1463 ref T5 reference16;
1464 int value20;
1465 ref T7 reference18;
1466 int value21;
1467 ref T7 reference19;
1468 int value22;
1469 ref T6 reference20;
1470 int value23;
1471 ref T7 reference22;
1472 ref T7 reference23;
1473 int value25;
1474 int value28;
1475 int value29;
1476 ref T4 reference27;
1477 ref T3 reference28;
1478 ref T5 reference29;
1479 switch (8 - length)
1480 {
1481 case 1:
1482 {
1483 ref T7 reference21 = ref Item7;
1484 val2 = default(T7);
1485 if (val2 == null)
1486 {
1487 val2 = reference21;
1489 if (val2 == null)
1490 {
1491 value24 = 0;
1492 goto IL_0237;
1493 }
1494 }
1495 value24 = reference21.GetHashCode();
1496 goto IL_0237;
1497 }
1498 case 2:
1499 {
1500 ref T6 reference17 = ref Item6;
1501 val7 = default(T6);
1502 if (val7 == null)
1503 {
1504 val7 = reference17;
1506 if (val7 == null)
1507 {
1508 value12 = 0;
1509 goto IL_0276;
1510 }
1511 }
1512 value12 = reference17.GetHashCode();
1513 goto IL_0276;
1514 }
1515 case 3:
1516 {
1517 ref T5 reference6 = ref Item5;
1518 val5 = default(T5);
1519 if (val5 == null)
1520 {
1521 val5 = reference6;
1523 if (val5 == null)
1524 {
1525 value10 = 0;
1526 goto IL_02ed;
1527 }
1528 }
1529 value10 = reference6.GetHashCode();
1530 goto IL_02ed;
1531 }
1532 case 4:
1533 {
1534 ref T4 reference25 = ref Item4;
1535 val3 = default(T4);
1536 if (val3 == null)
1537 {
1538 val3 = reference25;
1540 if (val3 == null)
1541 {
1542 value5 = 0;
1543 goto IL_039c;
1544 }
1545 }
1546 value5 = reference25.GetHashCode();
1547 goto IL_039c;
1548 }
1549 case 5:
1550 {
1551 ref T3 reference24 = ref Item3;
1552 val6 = default(T3);
1553 if (val6 == null)
1554 {
1555 val6 = reference24;
1557 if (val6 == null)
1558 {
1559 value26 = 0;
1560 goto IL_0483;
1561 }
1562 }
1563 value26 = reference24.GetHashCode();
1564 goto IL_0483;
1565 }
1566 case 6:
1567 {
1568 ref T2 reference26 = ref Item2;
1569 val4 = default(T2);
1570 if (val4 == null)
1571 {
1572 val4 = reference26;
1574 if (val4 == null)
1575 {
1576 value27 = 0;
1577 goto IL_05a2;
1578 }
1579 }
1580 value27 = reference26.GetHashCode();
1581 goto IL_05a2;
1582 }
1583 case 7:
1584 case 8:
1585 {
1586 ref T1 reference2 = ref Item1;
1587 val = default(T1);
1588 if (val == null)
1589 {
1590 val = reference2;
1591 reference2 = ref val;
1592 if (val == null)
1593 {
1594 value2 = 0;
1595 goto IL_06f6;
1596 }
1597 }
1598 value2 = reference2.GetHashCode();
1599 goto IL_06f6;
1600 }
1601 default:
1602 {
1603 return -1;
1604 }
1605 IL_0325:
1607 val2 = default(T7);
1608 if (val2 == null)
1609 {
1610 val2 = reference3;
1612 if (val2 == null)
1613 {
1614 value3 = 0;
1615 goto IL_035d;
1616 }
1617 }
1618 value3 = reference3.GetHashCode();
1619 goto IL_035d;
1620 IL_05da:
1622 val3 = default(T4);
1623 if (val3 == null)
1624 {
1625 val3 = reference4;
1627 if (val3 == null)
1628 {
1629 value4 = 0;
1630 goto IL_0612;
1631 }
1632 }
1633 value4 = reference4.GetHashCode();
1634 goto IL_0612;
1635 IL_0444:
1636 return HashCode.Combine(value5, value6, value7, value8, hashCode);
1637 IL_06f6:
1639 val4 = default(T2);
1640 if (val4 == null)
1641 {
1642 val4 = reference5;
1644 if (val4 == null)
1645 {
1646 value9 = 0;
1647 goto IL_072e;
1648 }
1649 }
1650 value9 = reference5.GetHashCode();
1651 goto IL_072e;
1652 IL_04bb:
1654 val5 = default(T5);
1655 if (val5 == null)
1656 {
1657 val5 = reference7;
1659 if (val5 == null)
1660 {
1661 value11 = 0;
1662 goto IL_04f3;
1663 }
1664 }
1665 value11 = reference7.GetHashCode();
1666 goto IL_04f3;
1667 IL_02ae:
1668 return HashCode.Combine(value12, value13, hashCode);
1669 IL_072e:
1671 val6 = default(T3);
1672 if (val6 == null)
1673 {
1674 val6 = reference8;
1676 if (val6 == null)
1677 {
1678 value14 = 0;
1679 goto IL_0766;
1680 }
1681 }
1682 value14 = reference8.GetHashCode();
1683 goto IL_0766;
1684 IL_04f3:
1686 val7 = default(T6);
1687 if (val7 == null)
1688 {
1689 val7 = reference9;
1691 if (val7 == null)
1692 {
1693 value15 = 0;
1694 goto IL_052b;
1695 }
1696 }
1697 value15 = reference9.GetHashCode();
1698 goto IL_052b;
1699 IL_02ed:
1701 val7 = default(T6);
1702 if (val7 == null)
1703 {
1704 val7 = reference10;
1706 if (val7 == null)
1707 {
1708 value16 = 0;
1709 goto IL_0325;
1710 }
1711 }
1712 value16 = reference10.GetHashCode();
1713 goto IL_0325;
1714 IL_0612:
1716 val5 = default(T5);
1717 if (val5 == null)
1718 {
1719 val5 = reference11;
1721 if (val5 == null)
1722 {
1723 value17 = 0;
1724 goto IL_064a;
1725 }
1726 }
1727 value17 = reference11.GetHashCode();
1728 goto IL_064a;
1729 IL_0766:
1731 val3 = default(T4);
1732 if (val3 == null)
1733 {
1734 val3 = reference12;
1736 if (val3 == null)
1737 {
1738 value18 = 0;
1739 goto IL_079e;
1740 }
1741 }
1742 value18 = reference12.GetHashCode();
1743 goto IL_079e;
1744 IL_064a:
1746 val7 = default(T6);
1747 if (val7 == null)
1748 {
1749 val7 = reference13;
1751 if (val7 == null)
1752 {
1753 value19 = 0;
1754 goto IL_0682;
1755 }
1756 }
1757 value19 = reference13.GetHashCode();
1758 goto IL_0682;
1759 IL_03d4:
1761 val7 = default(T6);
1762 if (val7 == null)
1763 {
1764 val7 = reference14;
1766 if (val7 == null)
1767 {
1768 value7 = 0;
1769 goto IL_040c;
1770 }
1771 }
1772 value7 = reference14.GetHashCode();
1773 goto IL_040c;
1774 IL_0276:
1776 val2 = default(T7);
1777 if (val2 == null)
1778 {
1779 val2 = reference15;
1781 if (val2 == null)
1782 {
1783 value13 = 0;
1784 goto IL_02ae;
1785 }
1786 }
1787 value13 = reference15.GetHashCode();
1788 goto IL_02ae;
1789 IL_079e:
1791 val5 = default(T5);
1792 if (val5 == null)
1793 {
1794 val5 = reference16;
1796 if (val5 == null)
1797 {
1798 value20 = 0;
1799 goto IL_07d6;
1800 }
1801 }
1802 value20 = reference16.GetHashCode();
1803 goto IL_07d6;
1804 IL_0682:
1806 val2 = default(T7);
1807 if (val2 == null)
1808 {
1809 val2 = reference18;
1811 if (val2 == null)
1812 {
1813 value21 = 0;
1814 goto IL_06ba;
1815 }
1816 }
1817 value21 = reference18.GetHashCode();
1818 goto IL_06ba;
1819 IL_052b:
1821 val2 = default(T7);
1822 if (val2 == null)
1823 {
1824 val2 = reference19;
1826 if (val2 == null)
1827 {
1828 value22 = 0;
1829 goto IL_0563;
1830 }
1831 }
1832 value22 = reference19.GetHashCode();
1833 goto IL_0563;
1834 IL_07d6:
1836 val7 = default(T6);
1837 if (val7 == null)
1838 {
1839 val7 = reference20;
1841 if (val7 == null)
1842 {
1843 value23 = 0;
1844 goto IL_080e;
1845 }
1846 }
1847 value23 = reference20.GetHashCode();
1848 goto IL_080e;
1849 IL_040c:
1851 val2 = default(T7);
1852 if (val2 == null)
1853 {
1854 val2 = reference22;
1856 if (val2 == null)
1857 {
1858 value8 = 0;
1859 goto IL_0444;
1860 }
1861 }
1862 value8 = reference22.GetHashCode();
1863 goto IL_0444;
1864 IL_035d:
1865 return HashCode.Combine(value10, value16, value3, hashCode);
1866 IL_080e:
1868 val2 = default(T7);
1869 if (val2 == null)
1870 {
1871 val2 = reference23;
1873 if (val2 == null)
1874 {
1875 value25 = 0;
1876 goto IL_0846;
1877 }
1878 }
1879 value25 = reference23.GetHashCode();
1880 goto IL_0846;
1881 IL_06ba:
1882 return HashCode.Combine(value27, value28, value4, value17, value19, value21, hashCode);
1883 IL_0846:
1884 return HashCode.Combine(value2, value9, value14, value18, value20, value23, value25, hashCode);
1885 IL_0563:
1886 return HashCode.Combine(value26, value29, value11, value15, value22, hashCode);
1887 IL_0483:
1889 val3 = default(T4);
1890 if (val3 == null)
1891 {
1892 val3 = reference27;
1894 if (val3 == null)
1895 {
1896 value29 = 0;
1897 goto IL_04bb;
1898 }
1899 }
1900 value29 = reference27.GetHashCode();
1901 goto IL_04bb;
1902 IL_0237:
1903 return HashCode.Combine(value24, hashCode);
1904 IL_05a2:
1906 val6 = default(T3);
1907 if (val6 == null)
1908 {
1909 val6 = reference28;
1911 if (val6 == null)
1912 {
1913 value28 = 0;
1914 goto IL_05da;
1915 }
1916 }
1917 value28 = reference28.GetHashCode();
1918 goto IL_05da;
1919 IL_039c:
1921 val5 = default(T5);
1922 if (val5 == null)
1923 {
1924 val5 = reference29;
1926 if (val5 == null)
1927 {
1928 value6 = 0;
1929 goto IL_03d4;
1930 }
1931 }
1932 value6 = reference29.GetHashCode();
1933 goto IL_03d4;
1934 }
1935 IL_00f2:
1936 ref T5 reference30 = ref Item5;
1937 val5 = default(T5);
1938 int value30;
1939 if (val5 == null)
1940 {
1941 val5 = reference30;
1943 if (val5 == null)
1944 {
1945 value30 = 0;
1946 goto IL_012a;
1947 }
1948 }
1949 value30 = reference30.GetHashCode();
1950 goto IL_012a;
1951 IL_019a:
1952 int value31;
1953 int value32;
1954 int value33;
1955 int value34;
1956 int value35;
1957 return HashCode.Combine(value, value31, value32, value33, value30, value34, value35);
1958 IL_0162:
1959 ref T7 reference31 = ref Item7;
1960 val2 = default(T7);
1961 if (val2 == null)
1962 {
1963 val2 = reference31;
1965 if (val2 == null)
1966 {
1967 value35 = 0;
1968 goto IL_019a;
1969 }
1970 }
1971 value35 = reference31.GetHashCode();
1972 goto IL_019a;
1973 IL_0082:
1974 ref T3 reference32 = ref Item3;
1975 val6 = default(T3);
1976 if (val6 == null)
1977 {
1978 val6 = reference32;
1980 if (val6 == null)
1981 {
1982 value32 = 0;
1983 goto IL_00ba;
1984 }
1985 }
1986 value32 = reference32.GetHashCode();
1987 goto IL_00ba;
1988 IL_012a:
1989 ref T6 reference33 = ref Item6;
1990 val7 = default(T6);
1991 if (val7 == null)
1992 {
1993 val7 = reference33;
1995 if (val7 == null)
1996 {
1997 value34 = 0;
1998 goto IL_0162;
1999 }
2000 }
2001 value34 = reference33.GetHashCode();
2002 goto IL_0162;
2003 IL_00ba:
2004 ref T4 reference34 = ref Item4;
2005 val3 = default(T4);
2006 if (val3 == null)
2007 {
2008 val3 = reference34;
2010 if (val3 == null)
2011 {
2012 value33 = 0;
2013 goto IL_00f2;
2014 }
2015 }
2016 value33 = reference34.GetHashCode();
2017 goto IL_00f2;
2018 IL_004a:
2019 ref T2 reference35 = ref Item2;
2020 val4 = default(T2);
2021 if (val4 == null)
2022 {
2023 val4 = reference35;
2025 if (val4 == null)
2026 {
2027 value31 = 0;
2028 goto IL_0082;
2029 }
2030 }
2031 value31 = reference35.GetHashCode();
2032 goto IL_0082;
2033 }
int ITuple. Length
Definition ValueTuple.cs:14

References System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Item1, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Item2, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Item3, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Item4, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Item5, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Item6, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Item7, System.length, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Length, System.ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest >.Rest, and System.value.