Switch to compiler-tester
authorMarek Safar <marek.safar@gmail.com>
Tue, 14 Jun 2005 07:15:26 +0000 (07:15 -0000)
committerMarek Safar <marek.safar@gmail.com>
Tue, 14 Jun 2005 07:15:26 +0000 (07:15 -0000)
svn path=/trunk/mcs/; revision=45933

750 files changed:
1  2  3  4 
mcs/tests/2test-1.cs
mcs/tests/2test-10.cs
mcs/tests/2test-11.cs
mcs/tests/2test-12.cs
mcs/tests/2test-13.cs
mcs/tests/2test-14.cs
mcs/tests/2test-15.cs
mcs/tests/2test-16.cs
mcs/tests/2test-17.cs
mcs/tests/2test-18.cs
mcs/tests/2test-2.cs
mcs/tests/2test-3.cs
mcs/tests/2test-4.cs
mcs/tests/2test-5.cs
mcs/tests/2test-6.cs
mcs/tests/2test-7.cs
mcs/tests/2test-8.cs
mcs/tests/2test-9.cs
mcs/tests/2test-a1.cs
mcs/tests/2test-a10.cs
mcs/tests/2test-a2.cs
mcs/tests/2test-a3.cs
mcs/tests/2test-a4.cs
mcs/tests/2test-a5.cs
mcs/tests/2test-a6.cs
mcs/tests/2test-a7.cs
mcs/tests/2test-a8.cs
mcs/tests/2test-a9.cs
mcs/tests/ChangeLog
mcs/tests/Makefile
mcs/tests/TEST-399-lib.cs
mcs/tests/a-call.cs
mcs/tests/a-capture1.cs
mcs/tests/a-capture10.cs
mcs/tests/a-capture2.cs
mcs/tests/a-capture3.cs
mcs/tests/a-capture4.cs
mcs/tests/a-capture5.cs
mcs/tests/a-capture6.cs
mcs/tests/a-capture7.cs
mcs/tests/a-capture8.cs
mcs/tests/a-capture9.cs
mcs/tests/a-event.cs
mcs/tests/a-foreach.cs
mcs/tests/a-instance.cs
mcs/tests/a-nested-anon.cs
mcs/tests/a-nested-anon2.cs
mcs/tests/a-nested-anon3.cs
mcs/tests/a-nested-anon4.cs
mcs/tests/a-nested.cs
mcs/tests/a-parameter.cs
mcs/tests/a-parameter2.cs
mcs/tests/a-parameter3.cs
mcs/tests/a-parameter4.cs
mcs/tests/a-parameter5.cs
mcs/tests/a-simple.cs
mcs/tests/a-simple2.cs
mcs/tests/acc-modifiers.cs
mcs/tests/acc-modifiers2.cs
mcs/tests/c1.cs
mcs/tests/c2.cs
mcs/tests/casts.cs
mcs/tests/cls-test-0.cs
mcs/tests/cls-test-1.cs
mcs/tests/cls-test-10.cs
mcs/tests/cls-test-11.cs
mcs/tests/cls-test-12.cs
mcs/tests/cls-test-14.cs
mcs/tests/cls-test-15.cs
mcs/tests/cls-test-16.cs
mcs/tests/cls-test-2.cs
mcs/tests/cls-test-3.cs
mcs/tests/cls-test-5.cs
mcs/tests/cls-test-6.cs
mcs/tests/cls-test-7.cs
mcs/tests/co1.cs
mcs/tests/cond-attr.cs
mcs/tests/conv-dll.cs
mcs/tests/conv-exe.cs
mcs/tests/covariance-1.cs
mcs/tests/covariance-2.cs
mcs/tests/covariance-3.cs
mcs/tests/cs1.cs
mcs/tests/csc-casts.out
mcs/tests/fixed-buffer-dll.cs
mcs/tests/fixed-buffer-exe.cs
mcs/tests/gen-1.cs
mcs/tests/gen-10.cs
mcs/tests/gen-100.cs
mcs/tests/gen-101.cs
mcs/tests/gen-102.cs
mcs/tests/gen-103.cs
mcs/tests/gen-104.cs
mcs/tests/gen-105.cs
mcs/tests/gen-106.cs
mcs/tests/gen-107.cs
mcs/tests/gen-108.cs
mcs/tests/gen-109.cs
mcs/tests/gen-11.cs
mcs/tests/gen-110.cs
mcs/tests/gen-111.cs
mcs/tests/gen-112.cs
mcs/tests/gen-113.cs
mcs/tests/gen-114.cs
mcs/tests/gen-115.cs
mcs/tests/gen-116.cs
mcs/tests/gen-117.cs
mcs/tests/gen-118.cs
mcs/tests/gen-119.cs
mcs/tests/gen-12.cs
mcs/tests/gen-120.cs
mcs/tests/gen-121.cs
mcs/tests/gen-122.cs
mcs/tests/gen-123.cs
mcs/tests/gen-124.cs
mcs/tests/gen-125.cs
mcs/tests/gen-126.cs
mcs/tests/gen-127.cs
mcs/tests/gen-128.cs
mcs/tests/gen-129.cs
mcs/tests/gen-13-dll.cs
mcs/tests/gen-13-exe.cs
mcs/tests/gen-130.cs
mcs/tests/gen-131.cs
mcs/tests/gen-132.cs
mcs/tests/gen-133.cs
mcs/tests/gen-134.cs
mcs/tests/gen-135.cs
mcs/tests/gen-136.cs
mcs/tests/gen-137.cs
mcs/tests/gen-138.cs
mcs/tests/gen-139.cs
mcs/tests/gen-14.cs
mcs/tests/gen-140.cs
mcs/tests/gen-141.cs
mcs/tests/gen-142.cs
mcs/tests/gen-143.cs
mcs/tests/gen-144.cs
mcs/tests/gen-145.cs
mcs/tests/gen-146.cs
mcs/tests/gen-147.cs
mcs/tests/gen-148.cs
mcs/tests/gen-149.cs
mcs/tests/gen-15.cs
mcs/tests/gen-150.cs
mcs/tests/gen-151.cs
mcs/tests/gen-152.cs
mcs/tests/gen-153.cs
mcs/tests/gen-154.cs
mcs/tests/gen-155.cs
mcs/tests/gen-156-dll.cs
mcs/tests/gen-156-exe.cs
mcs/tests/gen-157.cs
mcs/tests/gen-158.cs
mcs/tests/gen-16.cs
mcs/tests/gen-17-dll.cs
mcs/tests/gen-17-exe.cs
mcs/tests/gen-18.cs
mcs/tests/gen-19.cs
mcs/tests/gen-2.cs
mcs/tests/gen-20.cs
mcs/tests/gen-21.cs
mcs/tests/gen-22.cs
mcs/tests/gen-23.cs
mcs/tests/gen-24.cs
mcs/tests/gen-25.cs
mcs/tests/gen-26.cs
mcs/tests/gen-27.cs
mcs/tests/gen-28.cs
mcs/tests/gen-29.cs
mcs/tests/gen-3.cs
mcs/tests/gen-30.cs
mcs/tests/gen-31-dll.cs
mcs/tests/gen-31-exe.cs
mcs/tests/gen-32.cs
mcs/tests/gen-33.cs
mcs/tests/gen-34.cs
mcs/tests/gen-35.cs
mcs/tests/gen-36.cs
mcs/tests/gen-37.cs
mcs/tests/gen-38.cs
mcs/tests/gen-39.cs
mcs/tests/gen-4.cs
mcs/tests/gen-40.cs
mcs/tests/gen-41.cs
mcs/tests/gen-42.cs
mcs/tests/gen-43.cs
mcs/tests/gen-44.cs
mcs/tests/gen-45.cs
mcs/tests/gen-46.cs
mcs/tests/gen-47-dll.cs
mcs/tests/gen-47-exe.cs
mcs/tests/gen-48.cs
mcs/tests/gen-49.cs
mcs/tests/gen-5.cs
mcs/tests/gen-50.cs
mcs/tests/gen-51.cs
mcs/tests/gen-52.cs
mcs/tests/gen-53.cs
mcs/tests/gen-54.cs
mcs/tests/gen-55.cs
mcs/tests/gen-56.cs
mcs/tests/gen-57.cs
mcs/tests/gen-58.cs
mcs/tests/gen-59.cs
mcs/tests/gen-6.cs
mcs/tests/gen-60.cs
mcs/tests/gen-61.cs
mcs/tests/gen-62.cs
mcs/tests/gen-63.cs
mcs/tests/gen-64.cs
mcs/tests/gen-65.cs
mcs/tests/gen-66.cs
mcs/tests/gen-67.cs
mcs/tests/gen-68.cs
mcs/tests/gen-69.cs
mcs/tests/gen-7.cs
mcs/tests/gen-70.cs
mcs/tests/gen-71.cs
mcs/tests/gen-72.cs
mcs/tests/gen-73.cs
mcs/tests/gen-74.cs
mcs/tests/gen-75.cs
mcs/tests/gen-76.cs
mcs/tests/gen-77.cs
mcs/tests/gen-78.cs
mcs/tests/gen-79.cs
mcs/tests/gen-8.cs
mcs/tests/gen-80.cs
mcs/tests/gen-81.cs
mcs/tests/gen-82.cs
mcs/tests/gen-83.cs
mcs/tests/gen-84.cs
mcs/tests/gen-85.cs
mcs/tests/gen-86.cs
mcs/tests/gen-87.cs
mcs/tests/gen-88.cs
mcs/tests/gen-89.cs
mcs/tests/gen-9.cs
mcs/tests/gen-90.cs
mcs/tests/gen-91.cs
mcs/tests/gen-92.cs
mcs/tests/gen-93.cs
mcs/tests/gen-94.cs
mcs/tests/gen-95.cs
mcs/tests/gen-96.cs
mcs/tests/gen-97.cs
mcs/tests/gen-98-dll.cs
mcs/tests/gen-98-exe.cs
mcs/tests/gtest-001.cs
mcs/tests/gtest-002.cs
mcs/tests/gtest-003.cs
mcs/tests/gtest-004.cs
mcs/tests/gtest-005.cs
mcs/tests/gtest-006.cs
mcs/tests/gtest-007.cs
mcs/tests/gtest-008.cs
mcs/tests/gtest-009.cs
mcs/tests/gtest-010.cs
mcs/tests/gtest-011.cs
mcs/tests/gtest-012.cs
mcs/tests/gtest-013-lib.cs
mcs/tests/gtest-013.cs
mcs/tests/gtest-014.cs
mcs/tests/gtest-015.cs
mcs/tests/gtest-016.cs
mcs/tests/gtest-017-lib.cs
mcs/tests/gtest-017.cs
mcs/tests/gtest-018.cs
mcs/tests/gtest-019.cs
mcs/tests/gtest-020.cs
mcs/tests/gtest-021.cs
mcs/tests/gtest-022.cs
mcs/tests/gtest-023.cs
mcs/tests/gtest-024.cs
mcs/tests/gtest-025.cs
mcs/tests/gtest-026.cs
mcs/tests/gtest-027.cs
mcs/tests/gtest-028.cs
mcs/tests/gtest-029.cs
mcs/tests/gtest-030.cs
mcs/tests/gtest-031-lib.cs
mcs/tests/gtest-031.cs
mcs/tests/gtest-032.cs
mcs/tests/gtest-033.cs
mcs/tests/gtest-034.cs
mcs/tests/gtest-035.cs
mcs/tests/gtest-036.cs
mcs/tests/gtest-037.cs
mcs/tests/gtest-038.cs
mcs/tests/gtest-039.cs
mcs/tests/gtest-040.cs
mcs/tests/gtest-041.cs
mcs/tests/gtest-042.cs
mcs/tests/gtest-043.cs
mcs/tests/gtest-044.cs
mcs/tests/gtest-045.cs
mcs/tests/gtest-046.cs
mcs/tests/gtest-047-lib.cs
mcs/tests/gtest-047.cs
mcs/tests/gtest-048.cs
mcs/tests/gtest-049.cs
mcs/tests/gtest-050.cs
mcs/tests/gtest-051.cs
mcs/tests/gtest-052.cs
mcs/tests/gtest-053.cs
mcs/tests/gtest-054.cs
mcs/tests/gtest-055.cs
mcs/tests/gtest-056.cs
mcs/tests/gtest-057.cs
mcs/tests/gtest-058.cs
mcs/tests/gtest-059.cs
mcs/tests/gtest-060.cs
mcs/tests/gtest-061.cs
mcs/tests/gtest-062.cs
mcs/tests/gtest-063.cs
mcs/tests/gtest-064.cs
mcs/tests/gtest-065.cs
mcs/tests/gtest-066.cs
mcs/tests/gtest-067.cs
mcs/tests/gtest-068.cs
mcs/tests/gtest-069.cs
mcs/tests/gtest-070.cs
mcs/tests/gtest-071.cs
mcs/tests/gtest-072.cs
mcs/tests/gtest-073.cs
mcs/tests/gtest-074.cs
mcs/tests/gtest-075.cs
mcs/tests/gtest-076.cs
mcs/tests/gtest-077.cs
mcs/tests/gtest-078.cs
mcs/tests/gtest-079.cs
mcs/tests/gtest-080.cs
mcs/tests/gtest-081.cs
mcs/tests/gtest-082.cs
mcs/tests/gtest-083.cs
mcs/tests/gtest-084.cs
mcs/tests/gtest-085.cs
mcs/tests/gtest-086.cs
mcs/tests/gtest-087.cs
mcs/tests/gtest-088.cs
mcs/tests/gtest-089.cs
mcs/tests/gtest-090.cs
mcs/tests/gtest-091.cs
mcs/tests/gtest-092.cs
mcs/tests/gtest-093.cs
mcs/tests/gtest-094.cs
mcs/tests/gtest-095.cs
mcs/tests/gtest-096.cs
mcs/tests/gtest-097.cs
mcs/tests/gtest-098-lib.cs
mcs/tests/gtest-098.cs
mcs/tests/gtest-100.cs
mcs/tests/gtest-101.cs
mcs/tests/gtest-102.cs
mcs/tests/gtest-103.cs
mcs/tests/gtest-104.cs
mcs/tests/gtest-105.cs
mcs/tests/gtest-106.cs
mcs/tests/gtest-107.cs
mcs/tests/gtest-108.cs
mcs/tests/gtest-109.cs
mcs/tests/gtest-110.cs
mcs/tests/gtest-111.cs
mcs/tests/gtest-112.cs
mcs/tests/gtest-113.cs
mcs/tests/gtest-114.cs
mcs/tests/gtest-115.cs
mcs/tests/gtest-116.cs
mcs/tests/gtest-117.cs
mcs/tests/gtest-118.cs
mcs/tests/gtest-119.cs
mcs/tests/gtest-120.cs
mcs/tests/gtest-121.cs
mcs/tests/gtest-122.cs
mcs/tests/gtest-123.cs
mcs/tests/gtest-124.cs
mcs/tests/gtest-125.cs
mcs/tests/gtest-126.cs
mcs/tests/gtest-127.cs
mcs/tests/gtest-128.cs
mcs/tests/gtest-129.cs
mcs/tests/gtest-130.cs
mcs/tests/gtest-131.cs
mcs/tests/gtest-132.cs
mcs/tests/gtest-133.cs
mcs/tests/gtest-134.cs
mcs/tests/gtest-135.cs
mcs/tests/gtest-136.cs
mcs/tests/gtest-137.cs
mcs/tests/gtest-138.cs
mcs/tests/gtest-139.cs
mcs/tests/gtest-140.cs
mcs/tests/gtest-141.cs
mcs/tests/gtest-142.cs
mcs/tests/gtest-143.cs
mcs/tests/gtest-144.cs
mcs/tests/gtest-145.cs
mcs/tests/gtest-146.cs
mcs/tests/gtest-147.cs
mcs/tests/gtest-148.cs
mcs/tests/gtest-149.cs
mcs/tests/gtest-150.cs
mcs/tests/gtest-151.cs
mcs/tests/gtest-152.cs
mcs/tests/gtest-153.cs
mcs/tests/gtest-154.cs
mcs/tests/gtest-155.cs
mcs/tests/gtest-156-lib.cs
mcs/tests/gtest-156.cs
mcs/tests/gtest-157.cs
mcs/tests/gtest-158.cs
mcs/tests/gtest-159.cs
mcs/tests/gtest-160.cs
mcs/tests/gtest-161-lib.cs
mcs/tests/gtest-161.cs
mcs/tests/gtest-162.cs
mcs/tests/gtest-163.cs
mcs/tests/gtest-164.cs
mcs/tests/gtest-165.cs
mcs/tests/gtest-166-lib.cs
mcs/tests/gtest-166.cs
mcs/tests/gtest-167.cs
mcs/tests/i-recursive.cs
mcs/tests/i-three.cs
mcs/tests/i-undefined.cs
mcs/tests/i1.cs
mcs/tests/i2.cs
mcs/tests/i3.cs
mcs/tests/i4.cs
mcs/tests/i5.cs
mcs/tests/i6.cs
mcs/tests/interfaces.cs
mcs/tests/ix1.cs
mcs/tests/ix2.cs
mcs/tests/known-issues-gmcs
mcs/tests/known-issues-mcs
mcs/tests/module-1.cs
mcs/tests/module-2.cs
mcs/tests/module-3.cs
mcs/tests/mtest-1-dll.cs
mcs/tests/mtest-1-exe.cs
mcs/tests/mtest-2-dll.cs
mcs/tests/mtest-2-exe.cs
mcs/tests/mtest-3-dll.cs
mcs/tests/mtest-3-exe.cs
mcs/tests/mtest-4-dll.cs
mcs/tests/mtest-4-exe.cs
mcs/tests/mtest-5-dll.cs
mcs/tests/mtest-5-exe.cs
mcs/tests/mtest-6-dll.cs
mcs/tests/mtest-6-exe.cs
mcs/tests/mtest-7-dll.cs
mcs/tests/mtest-7-exe.cs
mcs/tests/mtest-8-dll.cs
mcs/tests/mtest-8-exe.cs
mcs/tests/n1.cs
mcs/tests/n2.cs
mcs/tests/pi.cs
mcs/tests/pp.cs
mcs/tests/pu-ip.cs
mcs/tests/pu-pi.cs
mcs/tests/s1.cs
mcs/tests/test-124.cs
mcs/tests/test-231.cs
mcs/tests/test-240.cs
mcs/tests/test-319-dll.cs
mcs/tests/test-319-exe.cs
mcs/tests/test-319-lib.cs
mcs/tests/test-319.cs
mcs/tests/test-332.cs
mcs/tests/test-353-2.cs
mcs/tests/test-353-p2.cs
mcs/tests/test-353.cs
mcs/tests/test-361-2.cs
mcs/tests/test-361-p2.cs
mcs/tests/test-361.cs
mcs/tests/test-378.cs
mcs/tests/test-388-p2.cs
mcs/tests/test-388.cs
mcs/tests/test-389-p2.cs
mcs/tests/test-389.cs
mcs/tests/test-393.cs
mcs/tests/test-394.cs
mcs/tests/test-395.cs
mcs/tests/test-396-lib.cs
mcs/tests/test-396.cs
mcs/tests/test-397.cs
mcs/tests/test-398.cs
mcs/tests/test-399-lib.cs
mcs/tests/test-399.cs
mcs/tests/test-400.cs
mcs/tests/test-401.cs
mcs/tests/test-402.cs
mcs/tests/test-403.cs
mcs/tests/test-404.cs
mcs/tests/test-405.cs
mcs/tests/test-406.cs
mcs/tests/test-407.cs
mcs/tests/test-408.cs
mcs/tests/test-409.cs
mcs/tests/test-410-lib.cs
mcs/tests/test-410.cs
mcs/tests/test-411-lib.cs
mcs/tests/test-411.cs
mcs/tests/test-412-lib.cs
mcs/tests/test-412.cs
mcs/tests/test-413-lib.cs
mcs/tests/test-413.cs
mcs/tests/test-414-lib.cs
mcs/tests/test-414.cs
mcs/tests/test-415-lib.cs
mcs/tests/test-415.cs
mcs/tests/test-416-mod.cs
mcs/tests/test-416.cs
mcs/tests/test-417-lib.cs
mcs/tests/test-417.cs
mcs/tests/test-418-2-mod.cs
mcs/tests/test-418-3-mod.cs
mcs/tests/test-418.cs
mcs/tests/test-419-2-lib.cs
mcs/tests/test-419-3-lib.cs
mcs/tests/test-419.cs
mcs/tests/test-420.cs
mcs/tests/test-anon-01.cs
mcs/tests/test-anon-02.cs
mcs/tests/test-anon-03.cs
mcs/tests/test-anon-04.cs
mcs/tests/test-anon-05.cs
mcs/tests/test-anon-06.cs
mcs/tests/test-anon-07.cs
mcs/tests/test-anon-08.cs
mcs/tests/test-anon-09.cs
mcs/tests/test-anon-10.cs
mcs/tests/test-anon-11.cs
mcs/tests/test-anon-12.cs
mcs/tests/test-anon-13.cs
mcs/tests/test-anon-14.cs
mcs/tests/test-anon-15.cs
mcs/tests/test-anon-16.cs
mcs/tests/test-anon-17.cs
mcs/tests/test-anon-18.cs
mcs/tests/test-anon-19.cs
mcs/tests/test-anon-20.cs
mcs/tests/test-anon-21.cs
mcs/tests/test-anon-22.cs
mcs/tests/test-anon-23.cs
mcs/tests/test-anon-24.cs
mcs/tests/test-anon-25.cs
mcs/tests/test-anon-26.cs
mcs/tests/test-anon-27.cs
mcs/tests/test-anon-28.cs
mcs/tests/test-anon-29.cs
mcs/tests/test-cls-00.cs
mcs/tests/test-cls-01.cs
mcs/tests/test-cls-02.cs
mcs/tests/test-cls-03.cs
mcs/tests/test-cls-05.cs
mcs/tests/test-cls-06.cs
mcs/tests/test-cls-07.cs
mcs/tests/test-cls-10.cs
mcs/tests/test-cls-11.cs
mcs/tests/test-cls-12.cs
mcs/tests/test-cls-14.cs
mcs/tests/test-cls-15.cs
mcs/tests/test-cls-16.cs
mcs/tests/test-iter-01.cs
mcs/tests/test-iter-02.cs
mcs/tests/test-iter-03.cs
mcs/tests/test-iter-04.cs
mcs/tests/test-iter-05.cs
mcs/tests/test-iter-06.cs
mcs/tests/test-iter-07.cs
mcs/tests/test-iter-08.cs
mcs/tests/test-iter-09.cs
mcs/tests/test-partial-01.cs
mcs/tests/test-partial-02.cs
mcs/tests/test-partial-03.cs
mcs/tests/test-partial-04.cs
mcs/tests/test-partial-05.cs
mcs/tests/test-partial-06.cs
mcs/tests/test-partial-07.cs
mcs/tests/test-xml-001-ref.xml
mcs/tests/test-xml-001.cs
mcs/tests/test-xml-002-ref.xml
mcs/tests/test-xml-002.cs
mcs/tests/test-xml-003-ref.xml
mcs/tests/test-xml-003.cs
mcs/tests/test-xml-004-ref.xml
mcs/tests/test-xml-004.cs
mcs/tests/test-xml-005-ref.xml
mcs/tests/test-xml-005.cs
mcs/tests/test-xml-006-ref.xml
mcs/tests/test-xml-006.cs
mcs/tests/test-xml-007-ref.xml
mcs/tests/test-xml-007.cs
mcs/tests/test-xml-008-ref.xml
mcs/tests/test-xml-008.cs
mcs/tests/test-xml-009-ref.xml
mcs/tests/test-xml-009.cs
mcs/tests/test-xml-010-ref.xml
mcs/tests/test-xml-010.cs
mcs/tests/test-xml-011-ref.xml
mcs/tests/test-xml-011.cs
mcs/tests/test-xml-012-ref.xml
mcs/tests/test-xml-012.cs
mcs/tests/test-xml-013-ref.xml
mcs/tests/test-xml-013.cs
mcs/tests/test-xml-014-ref.xml
mcs/tests/test-xml-014.cs
mcs/tests/test-xml-015-ref.xml
mcs/tests/test-xml-015.cs
mcs/tests/test-xml-016-ref.xml
mcs/tests/test-xml-016.cs
mcs/tests/test-xml-017-ref.xml
mcs/tests/test-xml-017.cs
mcs/tests/test-xml-018-ref.xml
mcs/tests/test-xml-018.cs
mcs/tests/test-xml-019-ref.xml
mcs/tests/test-xml-019.cs
mcs/tests/test-xml-020-ref.xml
mcs/tests/test-xml-020.cs
mcs/tests/test-xml-021-ref.xml
mcs/tests/test-xml-021.cs
mcs/tests/test-xml-022-ref.xml
mcs/tests/test-xml-022.cs
mcs/tests/test-xml-023-ref.xml
mcs/tests/test-xml-023.cs
mcs/tests/test-xml-024-ref.xml
mcs/tests/test-xml-024.cs
mcs/tests/test-xml-025-ref.xml
mcs/tests/test-xml-025.cs
mcs/tests/test-xml-025.inc
mcs/tests/test-xml-026-ref.xml
mcs/tests/test-xml-026.cs
mcs/tests/test-xml-027-ref.xml
mcs/tests/test-xml-027.cs
mcs/tests/test-xml-028-ref.xml
mcs/tests/test-xml-028.cs
mcs/tests/test-xml-029-ref.xml
mcs/tests/test-xml-029.cs
mcs/tests/test-xml-030-ref.xml
mcs/tests/test-xml-030.cs
mcs/tests/test-xml-031-ref.xml
mcs/tests/test-xml-031.cs
mcs/tests/test-xml-032-ref.xml
mcs/tests/test-xml-032.cs
mcs/tests/test-xml-033-ref.xml
mcs/tests/test-xml-033.cs
mcs/tests/test-xml-034-ref.xml
mcs/tests/test-xml-034.cs
mcs/tests/test-xml-035-ref.xml
mcs/tests/test-xml-035.cs
mcs/tests/test-xml-036-ref.xml
mcs/tests/test-xml-036.cs
mcs/tests/test-xml-037-ref.xml
mcs/tests/test-xml-037.cs
mcs/tests/test-xml-038-ref.xml
mcs/tests/test-xml-038.cs
mcs/tests/try.cs
mcs/tests/unsafe-1.cs
mcs/tests/unsafe-10.cs
mcs/tests/unsafe-2.cs
mcs/tests/unsafe-3.cs
mcs/tests/unsafe-4.cs
mcs/tests/unsafe-5.cs
mcs/tests/unsafe-6.cs
mcs/tests/unsafe-7.cs
mcs/tests/unsafe-8.cs
mcs/tests/unsafe-9.cs
mcs/tests/vararg-dll.cs
mcs/tests/vararg-exe.cs
mcs/tests/xml-001-ref.xml
mcs/tests/xml-001.cs
mcs/tests/xml-002-ref.xml
mcs/tests/xml-002.cs
mcs/tests/xml-003-ref.xml
mcs/tests/xml-003.cs
mcs/tests/xml-004-ref.xml
mcs/tests/xml-004.cs
mcs/tests/xml-005-ref.xml
mcs/tests/xml-005.cs
mcs/tests/xml-006-ref.xml
mcs/tests/xml-006.cs
mcs/tests/xml-007-ref.xml
mcs/tests/xml-007.cs
mcs/tests/xml-008-ref.xml
mcs/tests/xml-008.cs
mcs/tests/xml-009-ref.xml
mcs/tests/xml-009.cs
mcs/tests/xml-010-ref.xml
mcs/tests/xml-010.cs
mcs/tests/xml-011-ref.xml
mcs/tests/xml-011.cs
mcs/tests/xml-012-ref.xml
mcs/tests/xml-012.cs
mcs/tests/xml-013-ref.xml
mcs/tests/xml-013.cs
mcs/tests/xml-014-ref.xml
mcs/tests/xml-014.cs
mcs/tests/xml-015-ref.xml
mcs/tests/xml-015.cs
mcs/tests/xml-016-ref.xml
mcs/tests/xml-016.cs
mcs/tests/xml-017-ref.xml
mcs/tests/xml-017.cs
mcs/tests/xml-018-ref.xml
mcs/tests/xml-018.cs
mcs/tests/xml-019-ref.xml
mcs/tests/xml-019.cs
mcs/tests/xml-020-ref.xml
mcs/tests/xml-020.cs
mcs/tests/xml-021-ref.xml
mcs/tests/xml-021.cs
mcs/tests/xml-022-ref.xml
mcs/tests/xml-022.cs
mcs/tests/xml-023-ref.xml
mcs/tests/xml-023.cs
mcs/tests/xml-024-ref.xml
mcs/tests/xml-024.cs
mcs/tests/xml-025-ref.xml
mcs/tests/xml-025.cs
mcs/tests/xml-025.inc
mcs/tests/xml-026-ref.xml
mcs/tests/xml-026.cs
mcs/tests/xml-027-ref.xml
mcs/tests/xml-027.cs
mcs/tests/xml-028-ref.xml
mcs/tests/xml-028.cs
mcs/tests/xml-029-ref.xml
mcs/tests/xml-029.cs
mcs/tests/xml-030-ref.xml
mcs/tests/xml-030.cs
mcs/tests/xml-031-ref.xml
mcs/tests/xml-031.cs
mcs/tests/xml-032-ref.xml
mcs/tests/xml-032.cs
mcs/tests/xml-033-ref.xml
mcs/tests/xml-033.cs
mcs/tests/xml-034-ref.xml
mcs/tests/xml-034.cs
mcs/tests/xml-035-ref.xml
mcs/tests/xml-035.cs
mcs/tests/xml-036-ref.xml
mcs/tests/xml-036.cs
mcs/tests/xml-037-ref.xml
mcs/tests/xml-037.cs
mcs/tests/xml-038-ref.xml
mcs/tests/xml-038.cs
mcs/tests/xmldocdiff.cs

diff --cc mcs/tests/2test-1.cs
index 04a52b53fe507619bbcf6a8095c9836ea935e315,04a52b53fe507619bbcf6a8095c9836ea935e315,04a52b53fe507619bbcf6a8095c9836ea935e315,04a52b53fe507619bbcf6a8095c9836ea935e315..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,44 -1,44 -1,44 -1,44 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----using System;
----using System.Collections;
----
----class X {
----    static IEnumerator GetIt ()
----    {
----            yield return 1;
----            yield return 2;
----            yield return 3;
----    }
----    
----    static IEnumerable GetIt2 ()
----    {
----            yield return 1;
----            yield return 2;
----            yield return 3;
----    }
----
----    static int Main ()
----    {
----            IEnumerator e = GetIt ();
----            int total = 0;
----            
----            while (e.MoveNext ()){
----                    Console.WriteLine ("Value=" + e.Current);
----                    total += (int) e.Current;
----            }
----
----            if (total != 6)
----                    return 1;
----
----            total = 0;
----            foreach (int i in GetIt2 ()){
----                    Console.WriteLine ("Value=" + i);
----                    total += i;
----            }
----            if (total != 6)
----                    return 2;
----            
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-10.cs
index 66bb94728c4cc13f39e08e94f65a022501345a17,66bb94728c4cc13f39e08e94f65a022501345a17,66bb94728c4cc13f39e08e94f65a022501345a17,66bb94728c4cc13f39e08e94f65a022501345a17..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,55 -1,55 -1,55 -1,55 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----namespace Foo
----{
----    public class Hello
----    {
----            public static int World = 8;
----    }
----}
----
----namespace Bar
----{
----    public class Hello
----    {
----            public static int World = 9;
----    }
----}
----
----namespace X
----{
----    using Foo;
----
----    public partial class Test
----    {
----            public static int FooWorld ()
----            {
----                    return Hello.World;
----            }
----    }
----}
----
----namespace X
----{
----    using Bar;
----
----    public partial class Test
----    {
----            public static int BarWorld ()
----            {
----                    return Hello.World;
----            }
----    }
----}
----
----class Y
----{
----    static int Main ()
----    {
----            if (X.Test.FooWorld () != 8)
----                    return 1;
----            if (X.Test.BarWorld () != 9)
----                    return 2;
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-11.cs
index a588eeeb107f99d65e651f9321d45d8d71194580,a588eeeb107f99d65e651f9321d45d8d71194580,a588eeeb107f99d65e651f9321d45d8d71194580,a588eeeb107f99d65e651f9321d45d8d71194580..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,31 -1,31 -1,31 -1,31 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----namespace Test1
----{
----    public class Base
----    { }
----
----    public partial class Foo : Base
----    { }
----
----    public partial class Foo : Base
----    { }
----}
----
----namespace Test2
----{
----    public interface Base
----    { }
----
----    public partial class Foo : Base
----    { }
----
----    public partial class Foo : Base
----    { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/2test-12.cs
index fa4eb1be1f18fa546e68540d6778b70c1a85bccc,fa4eb1be1f18fa546e68540d6778b70c1a85bccc,fa4eb1be1f18fa546e68540d6778b70c1a85bccc,fa4eb1be1f18fa546e68540d6778b70c1a85bccc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,55 -1,55 -1,55 -1,55 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----public partial class Test
----{
----    public readonly Foo TheFoo;
----
----    public Test ()
----    {
----            this.TheFoo = new Foo ();
----    }
----
----    public partial interface IFoo
----    {
----            int Hello (Test foo);
----    }
----
----    public int TestFoo ()
----    {
----            return TheFoo.Hello (this);
----    }
----}
----
----public partial class Test
----{
----    public partial class Foo : IFoo
----    {
----            int IFoo.Hello (Test test)
----            {
----                    return 2;
----            }
----
----            public int Hello (Test test)
----            {
----                    return 1;
----            }
----    }
----
----    public int TestIFoo (IFoo foo)
----    {
----            return foo.Hello (this);
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            Test test = new Test ();
----            if (test.TestFoo () != 1)
----                    return 1;
----            if (test.TestIFoo (test.TheFoo) != 2)
----                    return 2;
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-13.cs
index 3158d8e5cc56754bf534ae16e5ac364a78e861f1,3158d8e5cc56754bf534ae16e5ac364a78e861f1,3158d8e5cc56754bf534ae16e5ac364a78e861f1,3158d8e5cc56754bf534ae16e5ac364a78e861f1..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,32 -1,32 -1,32 -1,32 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----namespace A
----{
----    interface IFoo
----    {
----            void Hello (IFoo foo);
----    }
----}
----
----namespace B
----{
----    partial class Test
----    { }
----}
----
----namespace B
----{
----    using A;
----
----    partial class Test : IFoo
----    {
----            void IFoo.Hello (IFoo foo)
----            { }
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/2test-14.cs
index 9d7ee2dcd0de70b5c2c3bab5507087cb9265ff98,9d7ee2dcd0de70b5c2c3bab5507087cb9265ff98,9d7ee2dcd0de70b5c2c3bab5507087cb9265ff98,9d7ee2dcd0de70b5c2c3bab5507087cb9265ff98..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----class B {
----}
----
----interface iface {
----}
----
----partial class A : B {
----}
----
----partial class A : iface {
----}
----
----class D { static void Main () {} }
diff --cc mcs/tests/2test-15.cs
index a8d184160b55d89ba0858f785b162287f4e7432b,a8d184160b55d89ba0858f785b162287f4e7432b,a8d184160b55d89ba0858f785b162287f4e7432b,a8d184160b55d89ba0858f785b162287f4e7432b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----partial class Foo
----{
----    ~Foo ()
----    { }
----}
----
----partial class Foo
----{ }
----
----class B { static void Main () {} }
----
diff --cc mcs/tests/2test-16.cs
index 32312cb4ede1a82a91fc54503280a9a80c7544b7,32312cb4ede1a82a91fc54503280a9a80c7544b7,32312cb4ede1a82a91fc54503280a9a80c7544b7,32312cb4ede1a82a91fc54503280a9a80c7544b7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,69 -1,69 -1,69 -1,69 +1,0 @@@@@
----using System;
----using System.Collections;
----
----public class Tester
----{
----    string[] ABC = { "A", "B", "C" };
----    // D
----    string [,] EFGH = { { "E", "F" }, { "G", "H"}};
----    // I
----    ArrayList al = new ArrayList ();
----    
----    public Tester ()
----    {
----            al.Add ("J");
----            al.Add ("K");
----    }
----    
----    public System.Collections.IEnumerator GetEnumerator()
----    {
----            foreach (string s in ABC){
----                    if (s == null)
----                            throw new Exception ();
----                    else
----                            yield return s;
----            }
----            
----            yield return "D";
----            foreach (string s in EFGH){
----                    if(s == null)
----                            throw new Exception ();
----                    else
----                            yield return s;
----            }
----            
----            yield return "I";
----            foreach (string s in al){
----                    if (s == null)
----                            throw new Exception ();
----                    else
----                            yield return s;
----            }
----            
----            yield return "L";
----    }
----}
----
----
----class Test
----{
----    public static int Main()
----    {
----            Tester tester = new Tester();
----            string [] list = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L" };
----            int top = 0;
----                    
----            foreach (string s in tester){
----                    if (s != list [top]){
----                            Console.WriteLine ("Failure, got {0} expected {1}", s, list [top]);
----                            return 1;
----                    }
----                    top++;
----            }
----            if (top != list.Length){
----                    Console.WriteLine ("Failure, expected {0} got {1}", list.Length, top);
----            }
----            Console.WriteLine ("Success");
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-17.cs
index afb741f4fbfffa3beace0946062afe46744c5a45,afb741f4fbfffa3beace0946062afe46744c5a45,afb741f4fbfffa3beace0946062afe46744c5a45,afb741f4fbfffa3beace0946062afe46744c5a45..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,12 -1,12 -1,12 -1,12 +1,0 @@@@@
----using System;
----using System.Runtime.InteropServices;
----
----[Obsolete]
----public partial class Test
----{ }
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/2test-18.cs
index 9a865b1e8894b73589797bc005e57bc6fe9b63b9,9a865b1e8894b73589797bc005e57bc6fe9b63b9,9a865b1e8894b73589797bc005e57bc6fe9b63b9,9a865b1e8894b73589797bc005e57bc6fe9b63b9..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----public class Foo {
----    delegate Inner foo_fn(string s);
----    public static void Main()
----    {
----            foo_fn f = delegate (string s) {
----                    return new Inner(s + s);
----            };
----            f ("Test");
----    }
----
----    class Inner
----    {
----            public Inner (string s)
----            { }
----    }
----}
diff --cc mcs/tests/2test-2.cs
index b32c30b4e65565e87d39a7c959f180911515b450,b32c30b4e65565e87d39a7c959f180911515b450,b32c30b4e65565e87d39a7c959f180911515b450,b32c30b4e65565e87d39a7c959f180911515b450..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----using System;
----using System.Collections;
----
----class X {
----    static int start, end;
----    static int i;
----
----    static IEnumerator GetRange ()
----    {
----            yield return 1;
----            for (i = start; i < end; i++)
----                    yield return i;
----            yield return 100;
----    }
----
----    static int Main ()
----    {
----            start = 10;
----            end = 30;
----
----            int total = 0;
----            
----            IEnumerator e = GetRange ();
----            while (e.MoveNext ()){
----                    Console.WriteLine ("Value=" + e.Current);
----                    total += (int) e.Current;
----            }
----
----            if (total != 491)
----                    return 1;
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-3.cs
index 342c03fa4bc5cf8c3e393adfeb6b4897214ae246,342c03fa4bc5cf8c3e393adfeb6b4897214ae246,342c03fa4bc5cf8c3e393adfeb6b4897214ae246,342c03fa4bc5cf8c3e393adfeb6b4897214ae246..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,43 -1,43 -1,43 -1,43 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----//
----// Use
----
----using System;
----using System.Collections;
----
----class X {
----    static IEnumerable GetIt (int [] args)
----    {
----            foreach (int a in args)
----                    yield return a;
----    }
----
----    static IEnumerable GetMulti (int [,] args)
----    {
----            foreach (int a in args)
----                    yield return a;
----    }
----    
----    static int Main ()
----    {
----            int total = 0;
----            foreach (int i in GetIt (new int [] { 1, 2, 3})){
----                    Console.WriteLine ("Got: " + i);
----                    total += i;
----            }
----
----            if (total != 6)
----                    return 1;
----
----            total = 0;
----            foreach (int i in GetMulti (new int [,] { { 10, 20 }, { 30, 40}})){
----                    Console.WriteLine ("Got: " + i);
----                    total += i;
----            }
----            if (total != 100)
----                    return 2;
----            
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-4.cs
index 002230470285ec7442cf0b10ac5389472438f00c,002230470285ec7442cf0b10ac5389472438f00c,002230470285ec7442cf0b10ac5389472438f00c,002230470285ec7442cf0b10ac5389472438f00c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----using System;
----using System.Collections;
----
----class X {
----    static IEnumerable GetRange (int start, int end)
----    {
----            for (int i = start; i < end; i++)
----                    yield return i;
----    }
----
----    static void Main ()
----    {
----            Console.WriteLine ("GetRange 10..20");
----                               
----            foreach (int i in GetRange (10, 20)){
----                    Console.WriteLine ("i=" + i);
----            }
----    }
----}
diff --cc mcs/tests/2test-5.cs
index 572e9bc66bf5ea8abd8870c11affdf50cd972237,572e9bc66bf5ea8abd8870c11affdf50cd972237,572e9bc66bf5ea8abd8870c11affdf50cd972237,572e9bc66bf5ea8abd8870c11affdf50cd972237..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----//
----// Anonymous method group conversions
----//
----
----class X {
----    delegate void T ();
----    static event T Click;
----
----    static void Method ()
----    {
----    }
----
----    static void Main ()
----    {
----            T t;
----
----            // Method group assignment
----            t = Method;
----
----            Click += Method;
----    }
----}
diff --cc mcs/tests/2test-6.cs
index d178419028c9c977043dc9887f894fc37d2bed62,d178419028c9c977043dc9887f894fc37d2bed62,d178419028c9c977043dc9887f894fc37d2bed62,d178419028c9c977043dc9887f894fc37d2bed62..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,85 -1,85 -1,85 -1,85 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----//
----// Use
----
----using System;
----using System.Collections;
----
----class X {
----    static IEnumerable GetIt ()
----    {
----            List l = new List (3);
----            l.Add (1);
----            l.Add (2);
----            l.Add (3);
----            
----            foreach (int i in l)
----                    yield return i;
----    }
----    
----    static int Main ()
----    {
----            int total = 0;
----            foreach (int i in GetIt ()) {
----                    Console.WriteLine ("Got: " + i);
----                    total += i;
----            }
----            
----            return total == 6 ? 0 : 1;
----    }
----}
----
----public class List : IEnumerable {
----
----    int pos = 0;
----    int [] items;
----    
----    public List (int i) 
----    {
----            items = new int [i];
----    }
----    
----    public void Add (int value) 
----    {
----            items [pos ++] = value;
----    }
----    
----    public MyEnumerator GetEnumerator ()
----    {
----            return new MyEnumerator(this);
----    }
----    
----    IEnumerator IEnumerable.GetEnumerator ()
----    {
----            return GetEnumerator ();
----    }
----    
----    public struct MyEnumerator : IEnumerator {
----            
----            List l;
----            int p;
----            
----            public MyEnumerator (List l) 
----            {
----                    this.l = l;
----                    p = -1;
----            }
----            
----            public object Current {
----                    get {
----                            return l.items [p];
----                    }
----            }
----            
----            public bool MoveNext() 
----            {
----                    return ++p < l.pos;
----            }
----
----            public void Reset() 
----            {
----                    p = 0;
----            }
----    }
----}
diff --cc mcs/tests/2test-7.cs
index 1abdcb8cdb80c7f2603fcd2dec9faf0af2308160,1abdcb8cdb80c7f2603fcd2dec9faf0af2308160,1abdcb8cdb80c7f2603fcd2dec9faf0af2308160,1abdcb8cdb80c7f2603fcd2dec9faf0af2308160..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,78 -1,78 -1,78 -1,78 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----using System;
----using System.Collections;
----
----struct S {
----    int j;
----    
----    public IEnumerable Get (int a)
----    {
----            Console.WriteLine ("Sending: " + a);
----            yield return a;
----            j = 10;
----            Console.WriteLine ("Sending: " + j);
----            yield return j;
----    }
----
----    public static IEnumerable GetS (int a)
----    {
----            yield return 100;
----            yield return a;
----            yield return 1000;
----    }
----}
----
----class X {
----    IEnumerable Get (int a)
----    {
----            yield return 1;
----            yield return 2;
----            yield return a;
----    }
----
----    static IEnumerable GetS (int a)
----    {
----            yield return a;
----            yield return a;
----            yield return 1;
----    }
----    
----    static int Main ()
----    {
----            X y = new X ();
----
----            int total = 0;
----            foreach (int x in y.Get (5)){
----                    total += x;
----            }
----            if (total != 8)
----                    return 1;
----
----            total = 0;
----            foreach (int x in GetS (3)){
----                    total += x;
----            }
----            if (total != 7)
----                    return 2;
----
----            S s = new S();
----            total = 0;
----            foreach (int x in s.Get (100)){
----                    Console.WriteLine ("Got: " + x);
----                    total += x;
----            }
----            if (total != 110)
----                    return 3;
----
----            total = 0;
----            foreach (int x in S.GetS (1)){
----                    total += x;
----            }
----            if (total != 1101)
----                    return 4;
----            
----            Console.WriteLine ("OK");
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-8.cs
index 051f00f4e7191a1bc93ee576b752ec0748495b73,051f00f4e7191a1bc93ee576b752ec0748495b73,051f00f4e7191a1bc93ee576b752ec0748495b73,051f00f4e7191a1bc93ee576b752ec0748495b73..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,85 -1,85 -1,85 -1,85 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----using System;
----using System.Collections;
----
----public class Test
----{
----    public IEnumerable Foo (int a)
----    {
----            try {
----                    try {
----                            yield return a;
----                    } finally {
----                            Console.WriteLine ("Hello World");
----                    }
----
----                    Console.WriteLine ("Next block");
----
----                    try {
----                            yield return a * a;
----                    } finally {
----                            Console.WriteLine ("Boston");
----                    }
----            } finally {
----                    Console.WriteLine ("Outer finally");
----            }
----
----            Console.WriteLine ("Outer block");
----            yield break;
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            Test test = new Test ();
----
----            ArrayList list = new ArrayList ();
----            foreach (object o in test.Foo (5))
----                    list.Add (o);
----
----            if (list.Count != 2)
----                    return 1;
----            if ((int) list [0] != 5)
----                    return 2;
----            if ((int) list [1] != 25)
----                    return 3;
----
----            IEnumerable a = test.Foo (5);
----
----            IEnumerator b = a as IEnumerator;
----            if (b != null) {
----                    if (b.MoveNext ())
----                            return 4;
----            }
----
----            IEnumerator c = a.GetEnumerator ();
----            if (!c.MoveNext ())
----                    return 5;
----            if ((int) c.Current != 5)
----                    return 6;
----            if (!c.MoveNext ())
----                    return 7;
----            if ((int) c.Current != 25)
----                    return 8;
----
----            IEnumerator d = a.GetEnumerator ();
----
----            if ((int) c.Current != 25)
----                    return 9;
----            if (!d.MoveNext ())
----                    return 10;
----            if ((int) c.Current != 25)
----                    return 11;
----            if ((int) d.Current != 5)
----                    return 12;
----
----            if (c.MoveNext ())
----                    return 13;
----
----            ((IDisposable) a).Dispose ();
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-9.cs
index 3b7b4b9e517fe168fc275fa5d8c90de0be26fd4f,3b7b4b9e517fe168fc275fa5d8c90de0be26fd4f,3b7b4b9e517fe168fc275fa5d8c90de0be26fd4f,3b7b4b9e517fe168fc275fa5d8c90de0be26fd4f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,60 -1,60 -1,60 -1,60 +1,0 @@@@@
----// Compiler options: -langversion:default
----
----using System;
----using System.Collections;
----
----public class Foo : IDisposable
----{
----    public readonly int Data;
----
----    public Foo (int data)
----    {
----            this.Data = data;
----    }
----
----    public bool disposed;
----
----    public void Dispose ()
----    {
----            disposed = true;
----    }
----}
----
----class X
----{
----    public static IEnumerable Test (int a, int b)
----    {
----            Foo foo3, foo4;
----
----            using (Foo foo1 = new Foo (a), foo2 = new Foo (b)) {
----                    yield return foo1.Data;
----                    yield return foo2.Data;
----
----                    foo3 = foo1;
----                    foo4 = foo2;
----            }
----
----            yield return foo3.disposed;
----            yield return foo4.disposed;
----    }
----
----    static int Main ()
----    {
----            ArrayList list = new ArrayList ();
----            foreach (object data in Test (3, 5))
----                    list.Add (data);
----
----            if (list.Count != 4)
----                    return 1;
----            if ((int) list [0] != 3)
----                    return 2;
----            if ((int) list [1] != 5)
----                    return 3;
----            if (!(bool) list [2])
----                    return 4;
----            if (!(bool) list [3])
----                    return 5;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-a1.cs
index f63b9231f64c9010dd3ed2b4c3c5717f08e74fea,f63b9231f64c9010dd3ed2b4c3c5717f08e74fea,f63b9231f64c9010dd3ed2b4c3c5717f08e74fea,f63b9231f64c9010dd3ed2b4c3c5717f08e74fea..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----//
----// Parameter and return value compilation tests for anonymous methods
----//
----delegate void D (int x);
----delegate void E (out int x);
----
----class X {
----    static int Main ()
----    {
----            // This should create an AnonymousMethod with the implicit argument
----            D d1 = delegate {};
----            D d2 = delegate (int a) {};
----
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-a10.cs
index 8b7169478281189cc5257b3424869c0fc903c83d,8b7169478281189cc5257b3424869c0fc903c83d,8b7169478281189cc5257b3424869c0fc903c83d,8b7169478281189cc5257b3424869c0fc903c83d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----using System;
----
----delegate int D ();
----
----class X {
----
----    static void Main ()
----    {
----            D x = T (1);
----
----            Console.WriteLine ("Should be 2={0}", x ());
----    }
----
----    static D T (int a)
----    {
----            D d = delegate {
----                    a = a + 1;
----                    return a;
----            };
----
----            return d;
----    }
----}
diff --cc mcs/tests/2test-a2.cs
index 0bb2390c698174b82f9d4c2e97d8946e02380300,0bb2390c698174b82f9d4c2e97d8946e02380300,0bb2390c698174b82f9d4c2e97d8946e02380300,0bb2390c698174b82f9d4c2e97d8946e02380300..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----delegate void S ();
----
----class X {
----
----    //
----    // DO NOT ADD ANYTHING ELSE TO THIS TEST
----    //
----    static int Main ()
----    {
----            int a;
----
----            S b = delegate {
----                    a = 2;
----            };
----
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-a3.cs
index 400059c59b4adc0edaab0f48234f6f17ef187750,400059c59b4adc0edaab0f48234f6f17ef187750,400059c59b4adc0edaab0f48234f6f17ef187750,400059c59b4adc0edaab0f48234f6f17ef187750..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----delegate void S ();
----using System;
----
----class X {
----    static int Main ()
----    {
----            int a = 1;
----            Console.WriteLine ("A is = " + a);
----            int c = a;
----            Console.WriteLine (c);
----            if (a != 1){
----                    return 1;
----            }
----            
----            S b = delegate {
----                    if (a != 1)
----                            Environment.Exit (1);
----                    Console.WriteLine ("in Delegate");
----                    a = 2;
----                    if (a != 2)
----                            Environment.Exit (2);
----                    Console.WriteLine ("Inside = " + a);
----                    a = 3;
----                    Console.WriteLine ("After = " + a);
----            };
----            if (a != 1)
----                    return 3;
----            b ();
----            if (a != 3)
----                    return 4;
----            Console.WriteLine ("Back, got " + a);
----
----            return 0;
----    }
----}
diff --cc mcs/tests/2test-a4.cs
index ebf4060505f41032bdb66fbc4bf38b7a7df04408,ebf4060505f41032bdb66fbc4bf38b7a7df04408,ebf4060505f41032bdb66fbc4bf38b7a7df04408,ebf4060505f41032bdb66fbc4bf38b7a7df04408..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----delegate void S ();
----using System;
----
----class X {
----    static void Main ()
----    {
----            int a = 1;
----            S b = delegate {
----                    a = 2;
----            };
----            b ();
----            Console.WriteLine ("Back, got " + a);
----    }
----}
diff --cc mcs/tests/2test-a5.cs
index 290ebe2b8df7e2ad78bdcaf158068f7e279e1771,290ebe2b8df7e2ad78bdcaf158068f7e279e1771,290ebe2b8df7e2ad78bdcaf158068f7e279e1771,290ebe2b8df7e2ad78bdcaf158068f7e279e1771..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----delegate void S ();
----using System;
----
----class X {
----    static void Main ()
----    {
----            int a = 1;
----            S b = delegate {
----                    float f = 1;
----                    Console.WriteLine (a);
----                    if (f == 2)
----                            return;
----            };
----            b ();
----            Console.WriteLine ("Back, got " + a);
----    }
----}
diff --cc mcs/tests/2test-a6.cs
index e34d61f6053d736f5e5ec0f5f901a4a4fa3c2ecd,e34d61f6053d736f5e5ec0f5f901a4a4fa3c2ecd,e34d61f6053d736f5e5ec0f5f901a4a4fa3c2ecd,e34d61f6053d736f5e5ec0f5f901a4a4fa3c2ecd..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,36 -1,36 -1,36 -1,36 +1,0 @@@@@
----//
----// Tests capturing of double nested variables
----//
----delegate void S ();
----using System;
----
----class X {
----    static int Main ()
----    {
----            int i;
----            S b = null;
----            
----            for (i = 0; i < 10; i++){
----                    int j = 0;
----                    b = delegate {
----                            Console.WriteLine ("i={0} j={1}", i, j);
----                            i = i + 1;
----                            j = j + 1;
----                    };
----            }
----            b ();
----            Console.WriteLine ("i = {0}", i);
----            if (!t (i, 11))
----                    return 1;
----            b ();
----            if (!t (i, 12))
----                    return 2;
----            Console.WriteLine ("i = {0}", i);
----            return 0;
----    }
----
----    static bool t (int a, int b)
----    {
----            return a == b;
----    }
----}
diff --cc mcs/tests/2test-a7.cs
index ecb5c5144581c496c7e7b8ae7ac4db329fb4809d,ecb5c5144581c496c7e7b8ae7ac4db329fb4809d,ecb5c5144581c496c7e7b8ae7ac4db329fb4809d,ecb5c5144581c496c7e7b8ae7ac4db329fb4809d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----//
----// Tests capturing of variables
----//
----delegate void S ();
----using System;
----
----class X {
----    static int Main ()
----    {
----            int a = 1;
----            if (a != 1)
----                    return 1;
----            
----            Console.WriteLine ("A is = " + a);
----            S b= delegate {
----                    Console.WriteLine ("on delegate");
----                    a = 2;
----            };
----            if (a != 1)
----                    return 2;
----            b();
----            if (a != 2)
----                    return 3;
----            Console.WriteLine ("OK");
----            return 0;
----    }
----}
----            
diff --cc mcs/tests/2test-a8.cs
index 0dcd92fb3bc3b89c2ebc03a696f974e0caa72634,0dcd92fb3bc3b89c2ebc03a696f974e0caa72634,0dcd92fb3bc3b89c2ebc03a696f974e0caa72634,0dcd92fb3bc3b89c2ebc03a696f974e0caa72634..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,37 -1,37 -1,37 -1,37 +1,0 @@@@@
----//
----// Tests havign more than one anonymous method that captures the same variable
----//
----using System;
----
----delegate void D ();
----
----class X {
----    static int Main ()
----    {
----            int a = 0;
----            D d1 = delegate {
----                    Console.WriteLine ("First");
----                    a = 1;
----            };
----            
----            D d2 = delegate {
----                    Console.WriteLine ("Second");
----                    a = 2;
----            };
----            if (!t (a, 0))
----                    return 1;
----            d1 ();
----            if (!t (a, 1))
----                    return 2;
----            d2 ();
----            if (!t (a, 2))
----                    return 3;
----            Console.WriteLine ("Test passes OK");
----            return 0;
----    }
----
----    static bool t (int a, int b)
----    {
----            return a == b;
----    }
----}
diff --cc mcs/tests/2test-a9.cs
index a951710c322b76958b588c34dca465fbeffc2672,a951710c322b76958b588c34dca465fbeffc2672,a951710c322b76958b588c34dca465fbeffc2672,a951710c322b76958b588c34dca465fbeffc2672..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,42 -1,42 -1,42 -1,42 +1,0 @@@@@
----//
----// Tests capturing of double nested variables
----//
----delegate void S ();
----using System;
----
----class X {
----    static int Main ()
----    {
----            int i;
----            int a = 0;
----            S b = null;
----            
----            for (i = 0; i < 10; i++){
----                    int j = 0;
----                    b = delegate {
----                            Console.WriteLine ("i={0} j={1}", i, j);
----                            i = i + 1;
----                            j = j + 1;
----                            a = j;
----                    };
----            }
----            b ();
----            Console.WriteLine ("i = {0}", i);
----            if (!t (i, 11))
----                    return 1;
----            b ();
----            if (!t (i, 12))
----                    return 2;
----            Console.WriteLine ("i = {0}", i);
----            Console.WriteLine ("a = {0}", a);
----            if (!t (a, 2))
----                    return 3;
----            
----            return 0;
----    }
----
----    static bool t (int a, int b)
----    {
----            return a == b;
----    }
----}
index 65976a110f5fc599fc6a13159ef2ef2f408f2484,90c75684951adb9ccd3b973bfeb1b4d7ca405e03,65976a110f5fc599fc6a13159ef2ef2f408f2484,90c75684951adb9ccd3b973bfeb1b4d7ca405e03..c851d66d12d8c1d01f46bb159cfffa5733969485
@@@@@ -1,10 -1,3 -1,10 -1,3 +1,21 @@@@@
++++2005-06-14  Marek Safar <marek.safar@seznam.cz>
++++
++++    * gen-*.cs: Renamed to gtest-*.cs.
++++    * 2test-20: Renamed to gtest-163.cs.
++++    * 2test-21: Renamed to gtest-164.cs.
++++    * 2test-22: Renamed to gtest-165.cs.
++++    * 2test-*.cs: Renamed to test-*.cs
++++    * xml-*.cs: Renamed to test-xml*.cs.
++++    
++++    * Makefile: Switch to compiler-tester.
++++
 + +2005-06-08  Raja R Harinath  <rharinath@novell.com>
 + +
 + +    * test-388.cs, test-389.cs: New tests from #75160.  They're
 + +    actually interdependent.  #75160 is a file-ordering bug, and we
 + +    use the two testcases to drive the two different orderings.
 + +    * Makefile (TEST_HARNESS_EXTRAS): Add test-388.cs and test-389.cs.
 + +
    2005-06-03  Raja R Harinath  <rharinath@novell.com>
    
        * Makefile (TEST_SOURCES_common): Re-enable test-183: the runtime
index f5df5986a3d0cb5e08fc0e6e77b264d4c1b5cf85,ded6092fbf7d90825e3d6cc65decc1afe177ffbc,f5df5986a3d0cb5e08fc0e6e77b264d4c1b5cf85,772117aa54a05b0acbf31ff380dd93f9f73af06a..fb1df0aaf04d30fc8e7a3223d977a46838c5964d
@@@@@ -132,10 -132,8 -132,10 -132,9 +132,10 @@@@@ TEST_SOURCES_net_2_0 = 
        gen-121 gen-122 gen-123 gen-124 gen-125         gen-127 gen-128 gen-129 gen-130 \
        gen-131 gen-132 gen-133 gen-134 gen-135 gen-136 gen-137 gen-138 gen-139 gen-140 \
        gen-141 gen-142 gen-143 gen-144 gen-145 gen-146 gen-147 gen-148 gen-149 gen-150 \
 - -    gen-151 gen-152 gen-153 gen-154 gen-155         gen-157 gen-158                 \
 -      cond-attr fixed-buffer-dll fixed-buffer-exe
 + +    gen-151 gen-152 gen-153 gen-154 gen-155         gen-157 gen-158 gen-159 gen-160 \
 + +            gen-162                                                                 \
 +      cond-attr fixed-buffer-dll fixed-buffer-exe                                     \
   -    2test-19
 + +    2test-19 2test-20 2test-21 2test-22
    
    TEST_EXCLUDES_net_2_0 = $(NEW_TEST_SOURCES_common)
    
@@@@@ -191,9 -186,9 -191,9 -187,9 +191,20 @@@@@ mcs-casts.out: casts-mcs.ex
    test-casts: boot-casts.out mcs-casts.out
        cmp $^
    
----test-local: xmldocdiff.exe casts-boot.exe
++++test-local: casts-boot.exe
    
----run-test-local: ilasm test-harness test-casts
++++ifeq (net_2_0, $(PROFILE))
++++COMPILER_NAME = gmcs
++++COMPILER = $(topdir)/gmcs/gmcs.exe
++++TEST_PATTERN = '*test-*.cs'
++++else
++++COMPILER_NAME = mcs
++++COMPILER = $(topdir)/class/lib/$(PROFILE)/mcs.exe
++++TEST_PATTERN = 'test-*.cs'
++++endif
++++
++++run-test-local: ilasm
++++    MONO_RUNTIME=mono $(with_mono_path) $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(PROFILE)/compiler-tester.exe positive $(TEST_PATTERN) $(COMPILER) known-issues-$(COMPILER_NAME) $(COMPILER_NAME).log
    
    # do nothing for this target
    run-test-ondotnet-local:
@@@@@ -210,7 -205,7 -210,7 -206,7 +221,8 @@@@@ test-generics-2
    
    clean-local:
        -rm -fr dir-*
----    -rm -f *.exe *.dll *.netmodule *.out *.pdb casts.cs
++++    -rm -f *.exe *.dll *.netmodule *.out *.pdb casts.cs *.log
++++    -rm -f xml-*.xml
    
    dist-local: dist-default
        rm -f $(distdir)/casts.cs
@@@@@ -222,7 -217,7 -222,7 -218,7 +234,7 @@@@@ TEST_TAG = mc
    endif
    
    .PHONY: test-harness test-harness-run
----test-harness: xmldocdiff.exe
++++test-harness: 
        @$(MAKE) -s test-harness-run
    
    exe_tests := $(filter %-exe, $(TEST_SOURCES))
@@@@@ -267,8 -262,8 -267,8 -263,8 +279,5 @@@@@ TEST_SOURCES_XML_PENDING = xml-02
    
    xml-doc-tests := $(filter xml-%, $(TEST_SOURCES))
    
----xmldocdiff.exe:
----    $(CSCOMPILE) xmldocdiff.cs
----
    %-il.dll: %-il.il
        $(ILASM) /dll $<
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8f2f0aaa9bbad43bf6eeb2908f815528449254a2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,139 @@@@@
++++// Compiler options: -t:library\r
++++
++++using System;
++++
++++public struct Result {
++++    public int res;
++++    // big enough that it won't be returned in registers
++++    double duh;
++++    long bah;
++++
++++    public Result (int val) {
++++            res = val;
++++            bah = val;
++++            duh = val;
++++    }
++++}
++++
++++public class Vararg
++++{
++++    public static int AddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public static int AddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public static Result VtAddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++
++++    public static Result VtAddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++
++++    public int InstAddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public int InstAddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public Result InstVtAddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++
++++    public Result InstVtAddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++}
diff --cc mcs/tests/a-call.cs
index e90e976b4768e0d4416616c4e886380c76eb862d,e90e976b4768e0d4416616c4e886380c76eb862d,e90e976b4768e0d4416616c4e886380c76eb862d,e90e976b4768e0d4416616c4e886380c76eb862d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,37 -1,37 -1,37 -1,37 +1,0 @@@@@
----using System;
----
----delegate void D ();
----
----class X {
----    static void Main ()
----    {
----            X x = new X (1);
----            X y = new X (100);
----            D a = x.T ();
----            D b = y.T ();
----
----            a ();
----            b ();
----    }
----
----    X (int start)
----    {
----            ins = start;
----    }
----
----    int ins;
----
----    D T ()
----    {
----            D d = delegate () {
----                    Console.WriteLine ("My state is: " + CALL ());
----            };
----
----            return d;
----    }
----    string CALL ()
----    {
----            return "GOOD";
----    }
----
----}
diff --cc mcs/tests/a-capture1.cs
index 0bb2390c698174b82f9d4c2e97d8946e02380300,0bb2390c698174b82f9d4c2e97d8946e02380300,0bb2390c698174b82f9d4c2e97d8946e02380300,0bb2390c698174b82f9d4c2e97d8946e02380300..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----delegate void S ();
----
----class X {
----
----    //
----    // DO NOT ADD ANYTHING ELSE TO THIS TEST
----    //
----    static int Main ()
----    {
----            int a;
----
----            S b = delegate {
----                    a = 2;
----            };
----
----            return 0;
----    }
----}
diff --cc mcs/tests/a-capture10.cs
index 065f7c2cae5bf95eb531e2809dfbb4114c486b7d,065f7c2cae5bf95eb531e2809dfbb4114c486b7d,065f7c2cae5bf95eb531e2809dfbb4114c486b7d,065f7c2cae5bf95eb531e2809dfbb4114c486b7d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,41 -1,41 -1,41 -1,41 +1,0 @@@@@
----//
----// This test exercises the access to a field instance from an instance
----// method that has an anonymous method.
----// 
----using System;
----
----class S {
----    delegate void T ();
----
----    T t;
----
----    int f;
----
----    public void Test ()
----    {
----            // The loop just forces the creation of a helper class, so
----            // that the anonymous method is not placed side-by-side this
----            // method.
----            int a = 1;
----            for (int i = a; i < 10; i++){
----                    int j = i;
----                    t = delegate {
----                            Console.WriteLine ("Before: {0} {1} {2}", f, i, j);
----                            f = i;
----                    };
----            }
----    }
----    
----    static int Main ()
----    {
----        S s = new S ();
----        s.Test ();
----        s.t ();
----        if (s.f == 10)
----                return 0;
----        Console.WriteLine ("Failed:" + s.f);
----        return 1;
----    }
----}
----    
----            
diff --cc mcs/tests/a-capture2.cs
index 21fe237a934697bde738795aa8cc36e4b4494a03,21fe237a934697bde738795aa8cc36e4b4494a03,21fe237a934697bde738795aa8cc36e4b4494a03,21fe237a934697bde738795aa8cc36e4b4494a03..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,39 -1,39 -1,39 -1,39 +1,0 @@@@@
----//
----// This test checks various uses of captured local variables
----//
----using System;
----
----delegate void S ();
----
----class X {
----    static int Main ()
----    {
----            int a = 1;
----            Console.WriteLine ("A is = " + a);
----            int c = a;
----            Console.WriteLine (c);
----            if (a != 1){
----                    return 1;
----            }
----            
----            S b = delegate {
----                    if (a != 1)
----                            Environment.Exit (1);
----                    Console.WriteLine ("in Delegate");
----                    a = 2;
----                    if (a != 2)
----                            Environment.Exit (2);
----                    Console.WriteLine ("Inside = " + a);
----                    a = 3;
----                    Console.WriteLine ("After = " + a);
----            };
----            if (a != 1)
----                    return 3;
----            b ();
----            if (a != 3)
----                    return 4;
----            Console.WriteLine ("Back, got " + a);
----            Console.WriteLine ("Test is ok");
----            return 0;
----    }
----}
diff --cc mcs/tests/a-capture3.cs
index c6f4032579b098d1c8043c50a9e2bda1dbc8baff,c6f4032579b098d1c8043c50a9e2bda1dbc8baff,c6f4032579b098d1c8043c50a9e2bda1dbc8baff,c6f4032579b098d1c8043c50a9e2bda1dbc8baff..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----//
----// Simple variable capturing
----//
----using System;
----
----delegate void S ();
----
----class X {
----    static void Main ()
----    {
----            int a = 1;
----            S b = delegate {
----                    a = 2;
----            };
----            b ();
----            Console.WriteLine ("Back, got " + a);
----    }
----}
diff --cc mcs/tests/a-capture4.cs
index 50985f4fb2bee92ed3d2a906c97000cda74f93fc,50985f4fb2bee92ed3d2a906c97000cda74f93fc,50985f4fb2bee92ed3d2a906c97000cda74f93fc,50985f4fb2bee92ed3d2a906c97000cda74f93fc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----//
----// Capturing test.
----//
----using System;
----
----delegate void S ();
----
----class X {
----    static void Main ()
----    {
----            int a = 1;
----            S b = delegate {
----                    float f = 1;
----                    Console.WriteLine (a);
----                    if (f == 2)
----                            return;
----            };
----            b ();
----            Console.WriteLine ("Back, got " + a);
----    }
----}
diff --cc mcs/tests/a-capture5.cs
index fe456bede026f0c28b891292624c3a69bf5c9c28,fe456bede026f0c28b891292624c3a69bf5c9c28,fe456bede026f0c28b891292624c3a69bf5c9c28,fe456bede026f0c28b891292624c3a69bf5c9c28..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,38 -1,38 -1,38 -1,38 +1,0 @@@@@
----//
----// Tests capturing of double nested variables
----//
----using System;
----delegate void S ();
----
----class X {
----    static int Main ()
----    {
----            int i;
----            S b = null;
----            
----            for (i = 0; i < 10; i++){
----                    int j = 0;
----                    b = delegate {
----                            Console.WriteLine ("i={0} j={1}", i, j);
----                            i = i + 1;
----                            j = j + 1;
----                    };
----            }
----            Console.WriteLine ("i = {0}", i);
----            b ();
----            Console.WriteLine ("i = {0}", i);
----            if (!t (i, 11))
----                    return 1;
----            b ();
----            if (!t (i, 12))
----                    return 2;
----            Console.WriteLine ("i = {0}", i);
----            Console.WriteLine ("Test is OK");
----            return 0;
----    }
----
----    static bool t (int a, int b)
----    {
----            return a == b;
----    }
----}
diff --cc mcs/tests/a-capture6.cs
index 758bcc70f6de9cece684a1b825da93317647dfba,758bcc70f6de9cece684a1b825da93317647dfba,758bcc70f6de9cece684a1b825da93317647dfba,758bcc70f6de9cece684a1b825da93317647dfba..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----//
----// Tests capturing of variables
----//
----using System;
----
----delegate void S ();
----
----class X {
----    static int Main ()
----    {
----            int a = 1;
----            if (a != 1)
----                    return 1;
----            
----            Console.WriteLine ("A is = " + a);
----            S b= delegate {
----                    Console.WriteLine ("on delegate");
----                    a = 2;
----            };
----            if (a != 1)
----                    return 2;
----            b();
----            if (a != 2)
----                    return 3;
----            Console.WriteLine ("OK");
----            return 0;
----    }
----}
----            
diff --cc mcs/tests/a-capture7.cs
index 0dcd92fb3bc3b89c2ebc03a696f974e0caa72634,0dcd92fb3bc3b89c2ebc03a696f974e0caa72634,0dcd92fb3bc3b89c2ebc03a696f974e0caa72634,0dcd92fb3bc3b89c2ebc03a696f974e0caa72634..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,37 -1,37 -1,37 -1,37 +1,0 @@@@@
----//
----// Tests havign more than one anonymous method that captures the same variable
----//
----using System;
----
----delegate void D ();
----
----class X {
----    static int Main ()
----    {
----            int a = 0;
----            D d1 = delegate {
----                    Console.WriteLine ("First");
----                    a = 1;
----            };
----            
----            D d2 = delegate {
----                    Console.WriteLine ("Second");
----                    a = 2;
----            };
----            if (!t (a, 0))
----                    return 1;
----            d1 ();
----            if (!t (a, 1))
----                    return 2;
----            d2 ();
----            if (!t (a, 2))
----                    return 3;
----            Console.WriteLine ("Test passes OK");
----            return 0;
----    }
----
----    static bool t (int a, int b)
----    {
----            return a == b;
----    }
----}
diff --cc mcs/tests/a-capture8.cs
index 40602f3a2745c9266495dce407d0fb30d66e8f68,40602f3a2745c9266495dce407d0fb30d66e8f68,40602f3a2745c9266495dce407d0fb30d66e8f68,40602f3a2745c9266495dce407d0fb30d66e8f68..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----//
----// Tests assignment of a captured variable to another
----// Do not add anything else to this test.
----//
----delegate void S ();
----
----class X {
----
----    //
----    // DO NOT ADD ANYTHING ELSE TO THIS TEST
----    //
----    static int Main ()
----    {
----            int a = 2;
----            int b = 1;
----            S d = delegate {
----                    a = b;
----            };
----
----            return 0;
----    }
----}
diff --cc mcs/tests/a-capture9.cs
index 55d3fdd8f7409f5b1d9e3eaa4bcc0757075a58b0,55d3fdd8f7409f5b1d9e3eaa4bcc0757075a58b0,55d3fdd8f7409f5b1d9e3eaa4bcc0757075a58b0,55d3fdd8f7409f5b1d9e3eaa4bcc0757075a58b0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,31 -1,31 -1,31 -1,31 +1,0 @@@@@
----//
----// Tests unary mutator operators on captured variables
----//
----using System;
----
----class X {
----    delegate void D ();
----
----    static int gt, gj;
----    
----    static int Main ()
----    {
----            int times = 0;
----            
----            D d = delegate {
----                int t = times++;
----                int j = ++times;
----
----                gt = t;
----                gj = j;
----            };
----            d ();
----
----            if (gt != 0)
----                    return 1;
----            if (gj != 2)
----                    return 2;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/a-event.cs
index a05dd23f3316e8a5ff0e9852f42ccb4ba8012e85,a05dd23f3316e8a5ff0e9852f42ccb4ba8012e85,a05dd23f3316e8a5ff0e9852f42ccb4ba8012e85,a05dd23f3316e8a5ff0e9852f42ccb4ba8012e85..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,38 -1,38 -1,38 -1,38 +1,0 @@@@@
----//
----// Tests the syntax for delegates and events
----//
----using System;
----
----delegate void ClickEvent ();
----
----class Button {
----    public event ClickEvent Clicked;
----
----    public void DoClick ()
----    {
----            Clicked ();
----    }
----    
----}
----
----class X {
----    static bool called = false;
----    
----    static int Main ()
----    {
----            Button b = new Button ();
----                                   
----            b.Clicked += delegate {
----                    Console.WriteLine ("This worked!");
----                    called = true;
----            };
----
----            b.DoClick ();
----            
----            if (called)
----                    return 0;
----            else
----                    return 1;
----    }
----    
----}
diff --cc mcs/tests/a-foreach.cs
index 678c0b5f50633aa9274e3dc0b35b55088bb76a6b,678c0b5f50633aa9274e3dc0b35b55088bb76a6b,678c0b5f50633aa9274e3dc0b35b55088bb76a6b,678c0b5f50633aa9274e3dc0b35b55088bb76a6b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----using System;
----        
----delegate void A ();
----
----class DelegateTest {
----    static void Main (string[] argv)
----    {
----            Console.WriteLine ("Test");
----
----            foreach (string arg in argv) {
----                    Console.WriteLine ("OUT: {0}", arg);
----                    A a = delegate {
----                            Console.WriteLine ("arg: {0}", arg);
----                    };
----                    a ();
----            }
----    }
----}
----      
diff --cc mcs/tests/a-instance.cs
index 01500c1baf481b3839b0fed414a0fe499482e7b0,01500c1baf481b3839b0fed414a0fe499482e7b0,01500c1baf481b3839b0fed414a0fe499482e7b0,01500c1baf481b3839b0fed414a0fe499482e7b0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----//
----// Instance access.
----//
----using System;
----
----delegate void D ();
----
----class X {
----    static void Main ()
----    {
----            X x = new X (1);
----            X y = new X (100);
----            D a = x.T ();
----            D b = y.T ();
----
----            a ();
----            b ();
----    }
----
----    X (int start)
----    {
----            ins = start;
----    }
----
----    int ins;
----
----    D T ()
----    {
----            D d = delegate () {
----                    Console.WriteLine ("My state is: " + ins);
----            };
----
----            return d;
----    }
----}
diff --cc mcs/tests/a-nested-anon.cs
index da92400d7c488c607f377f5db70acb7898206317,da92400d7c488c607f377f5db70acb7898206317,da92400d7c488c607f377f5db70acb7898206317,da92400d7c488c607f377f5db70acb7898206317..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,37 -1,37 -1,37 -1,37 +1,0 @@@@@
----//
----// Nested anonymous methods tests and capturing of different variables.
----//
----using System;
----
----delegate void D ();
----
----class X {
----    static D GlobalStoreDelegate;
----    
----    static void Main ()
----    {
----            D d = MainHost ();
----
----            d ();
----            GlobalStoreDelegate ();
----            GlobalStoreDelegate ();
----    }
----
----    static D MainHost ()
----    {
----            int toplevel_local = 0;
----            
----            D d = delegate () {
----                    int anonymous_local = 1;
----                    
----                    GlobalStoreDelegate = delegate {
----                            Console.WriteLine ("var1: {0} var2: {1}", toplevel_local, anonymous_local);
----                            anonymous_local = anonymous_local + 1;
----                    };
----
----                    toplevel_local = toplevel_local + 1;
----            };
----
----            return d;
----    }
----}
diff --cc mcs/tests/a-nested-anon2.cs
index 7531dfe6145e85d9c9a985fe8f8948604f2db528,7531dfe6145e85d9c9a985fe8f8948604f2db528,7531dfe6145e85d9c9a985fe8f8948604f2db528,7531dfe6145e85d9c9a985fe8f8948604f2db528..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,43 -1,43 -1,43 -1,43 +1,0 @@@@@
----//
----// Nested anonymous methods and capturing of variables test
----//
----using System;
----
----delegate void D ();
----
----class X {
----
----    static int Main ()
----    {
----            X x = new X();
----            x.M ();
----            e ();
----                Console.WriteLine ("J should be 101= {0}", j);
----            if (j != 101)
----                    return 3;
----            Console.WriteLine ("OK");
----            return 0;
----    }
----
----    static int j = 0;
----    static D e;
----    
----    void M ()
----    {
----            int l = 100;
----
----            D d = delegate {
----                    int b;
----                    b = 1;
----                    Console.WriteLine ("Inside d");
----                    e = delegate {
----                                    Console.WriteLine ("Inside e");
----                                    j = l + b;
----                                    Console.WriteLine ("j={0} l={1} b={2}", j, l, b);
----                    };
----            };
----            Console.WriteLine ("Calling d");
----            d ();
----    }
----    
----}
diff --cc mcs/tests/a-nested-anon3.cs
index b697da3bf836c21ab83dd37749cd9e8707424e0d,b697da3bf836c21ab83dd37749cd9e8707424e0d,b697da3bf836c21ab83dd37749cd9e8707424e0d,b697da3bf836c21ab83dd37749cd9e8707424e0d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----//
----using System;
----
----delegate void D ();
----
----class X {
----    static D r;
----    
----    static void Main ()
----    {
----            D d = T ();
----
----            d ();
----            r ();
----            r ();
----    }
----
----    static D T ()
----    {
----            int var1 = 0;
----            
----            D d = delegate () {
----                    int var2 = 1;
----                    
----                    r = delegate {
----                            Console.WriteLine ("var1: {0} var2: {1}", var1, var2);
----                            var2 = var2 + 1;
----                    };
----
----                    var1 = var1 + 1;
----            };
----
----            return d;
----    }
----}
diff --cc mcs/tests/a-nested-anon4.cs
index 8fcb6d4bc5be6c64467872b315512b6cc84fd3bd,8fcb6d4bc5be6c64467872b315512b6cc84fd3bd,8fcb6d4bc5be6c64467872b315512b6cc84fd3bd,8fcb6d4bc5be6c64467872b315512b6cc84fd3bd..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,36 -1,36 -1,36 -1,36 +1,0 @@@@@
----using System;
----
----delegate void D ();
----
----class X {
----
----    static int Main ()
----    {
----            X x = new X();
----            x.M ();
----            e ();
----                Console.WriteLine ("J should be 101= {0}", j);
----            if (j != 101)
----                    return 3;
----            Console.WriteLine ("OK");
----            return 0;
----    }
----
----    static int j;
----    static D e;
----    
----    void M ()
----    {
----            int l = 100;
----
----            D d = delegate {
----                    int b;
----                    b = 1;
----                    e = delegate {
----                                    j = l + b;
----                            };
----                    };
----            d ();
----    }
----    
----}
diff --cc mcs/tests/a-nested.cs
index 050b9fb65aa95dd4a1901859005e7988bb88cbf7,050b9fb65aa95dd4a1901859005e7988bb88cbf7,050b9fb65aa95dd4a1901859005e7988bb88cbf7,050b9fb65aa95dd4a1901859005e7988bb88cbf7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,43 -1,43 -1,43 -1,43 +1,0 @@@@@
----//
----// Tests capturing of double nested variables
----//
----using System;
----
----delegate void S ();
----
----class X {
----    static int Main ()
----    {
----            int i;
----            int a = 0;
----            S b = null;
----            
----            for (i = 0; i < 10; i++){
----                    int j = 0;
----                    b = delegate {
----                            Console.WriteLine ("i={0} j={1}", i, j);
----                            i = i + 1;
----                            j = j + 1;
----                            a = j;
----                    };
----            }
----            b ();
----            Console.WriteLine ("i = {0}", i);
----            if (!t (i, 11))
----                    return 1;
----            b ();
----            if (!t (i, 12))
----                    return 2;
----            Console.WriteLine ("i = {0}", i);
----            Console.WriteLine ("a = {0}", a);
----            if (!t (a, 2))
----                    return 3;
----            
----            return 0;
----    }
----
----    static bool t (int a, int b)
----    {
----            return a == b;
----    }
----}
diff --cc mcs/tests/a-parameter.cs
index 8b7169478281189cc5257b3424869c0fc903c83d,8b7169478281189cc5257b3424869c0fc903c83d,8b7169478281189cc5257b3424869c0fc903c83d,8b7169478281189cc5257b3424869c0fc903c83d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----using System;
----
----delegate int D ();
----
----class X {
----
----    static void Main ()
----    {
----            D x = T (1);
----
----            Console.WriteLine ("Should be 2={0}", x ());
----    }
----
----    static D T (int a)
----    {
----            D d = delegate {
----                    a = a + 1;
----                    return a;
----            };
----
----            return d;
----    }
----}
diff --cc mcs/tests/a-parameter2.cs
index 7aafe7f7bdbf3ddeb8594c42ddad2b9af9a1dde5,7aafe7f7bdbf3ddeb8594c42ddad2b9af9a1dde5,7aafe7f7bdbf3ddeb8594c42ddad2b9af9a1dde5,7aafe7f7bdbf3ddeb8594c42ddad2b9af9a1dde5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----using System;
----
----delegate int D (int arg);
----
----class X {
----
----    static int Main ()
----    {
----            D x = T (1);
----
----            int v = x (10);
----            Console.WriteLine ("Should be 11={0}", v);
----            return v == 11 ? 0 : 1;
----    }
----
----    static D T (int a)
----    {
----            D d = delegate (int arg) {
----                    return arg + a;
----            };
----
----            return d;
----    }
----}
diff --cc mcs/tests/a-parameter3.cs
index 5a3f6a8144dc46e47cc87eaefa28a11a4bf84392,5a3f6a8144dc46e47cc87eaefa28a11a4bf84392,5a3f6a8144dc46e47cc87eaefa28a11a4bf84392,5a3f6a8144dc46e47cc87eaefa28a11a4bf84392..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// Compiler options: -unsafe
----using System;
----
----delegate int D ();
----
----unsafe class X {
----
----    static int Main ()
----    {
----            D x = T (1);
----
----            int v = x ();
----            Console.WriteLine ("Should be 2={0}", v);
----            return v == 2 ? 0 : 1;
----    }
----
----    static D T (int a)
----    {
----            D d = delegate {
----                    int *x = &a;
----
----                    *x = *x + 1;
----                    return *x;
----            };
----
----            return d;
----    }
----}
diff --cc mcs/tests/a-parameter4.cs
index 3bfaef3e804e6f1785d8bd2cef7782d88cbf38a3,3bfaef3e804e6f1785d8bd2cef7782d88cbf38a3,3bfaef3e804e6f1785d8bd2cef7782d88cbf38a3,3bfaef3e804e6f1785d8bd2cef7782d88cbf38a3..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,41 -1,41 -1,41 -1,41 +1,0 @@@@@
----using System;
----
----delegate void D ();
----
----class X {
----
----    static int Main ()
----    {
----            X x = new X();
----            x.M (10);
----            e ();
----            Console.WriteLine ("J should be 11= {0}", j);
----            e ();
----                Console.WriteLine ("J should be 11= {0}", j);
----            x.M (100);
----            e ();
----                Console.WriteLine ("J should be 101= {0}", j);
----            if (j != 101)
----                    return 3;
----            Console.WriteLine ("OK");
----            return 0;
----    }
----
----    static int j;
----    static D e;
----    
----    void M (int a)
----    {
----            Console.WriteLine ("A is=" + a);        
----            D d = delegate {
----                    int b;
----                    b = 1;
----                    e = delegate {
----                                    Console.WriteLine ("IN NESTED DELEGATE: {0}", a);
----                                    j = a + b;
----                            };
----                    };
----            d ();
----    }
----    
----}
diff --cc mcs/tests/a-parameter5.cs
index dcbd0f6c2db8d5a58f1d95bec09e533bd1b8d51d,dcbd0f6c2db8d5a58f1d95bec09e533bd1b8d51d,dcbd0f6c2db8d5a58f1d95bec09e533bd1b8d51d,dcbd0f6c2db8d5a58f1d95bec09e533bd1b8d51d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----using System;
----
----class Delegable {
----    public event EventHandler MyDelegate;
----}
----
----class DelegateTest {
----    static void Main (string[] argv)
----    {
----            Console.WriteLine ("Test");
----
----            Delegable db = new Delegable ();
----            db.MyDelegate += delegate (object o, EventArgs args) {
----                    Console.WriteLine ("{0}", argv);
----                    Console.WriteLine ("{0}", db);
----            };
----    }
----}
----
----
diff --cc mcs/tests/a-simple.cs
index f63b9231f64c9010dd3ed2b4c3c5717f08e74fea,f63b9231f64c9010dd3ed2b4c3c5717f08e74fea,f63b9231f64c9010dd3ed2b4c3c5717f08e74fea,f63b9231f64c9010dd3ed2b4c3c5717f08e74fea..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----//
----// Parameter and return value compilation tests for anonymous methods
----//
----delegate void D (int x);
----delegate void E (out int x);
----
----class X {
----    static int Main ()
----    {
----            // This should create an AnonymousMethod with the implicit argument
----            D d1 = delegate {};
----            D d2 = delegate (int a) {};
----
----            return 0;
----    }
----}
diff --cc mcs/tests/a-simple2.cs
index d2265a53b9049ce0b647932dbd1875795372738b,d2265a53b9049ce0b647932dbd1875795372738b,d2265a53b9049ce0b647932dbd1875795372738b,d2265a53b9049ce0b647932dbd1875795372738b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,45 -1,45 -1,45 -1,45 +1,0 @@@@@
----using System;
----using System.Collections;
----
----delegate bool predicate (object a);
----
----class X {
----
----    static int Main ()
----    {
----            ArrayList a = new ArrayList ();
----            for (int i = 0; i < 10; i++)
----                    a.Add (i);
----
----            ArrayList even = Find (delegate (object arg) {
----                    return ((((int) arg) % 2) == 0);
----            }, a);
----
----            Console.WriteLine ("Even numbers");
----            foreach (object r in even){
----                    Console.WriteLine (r);
----            }
----            if (even.Count != 5)
----                    return 1;
----            if (((int)even [0]) != 0 ||
----                ((int)even [1]) != 2 ||
----                ((int)even [2]) != 4 ||
----                ((int)even [3]) != 6 ||
----                ((int)even [4]) != 8)
----                    return 2;
----                            
----            return 0;
----    }
----
----    static ArrayList Find (predicate p, ArrayList source)
----    {
----            ArrayList result = new ArrayList ();
----
----            foreach (object a in source){
----                    if (p (a))
----                            result.Add (a);
----            }
----
----            return result;
----    }
----}
diff --cc mcs/tests/acc-modifiers.cs
index 0826a6f09057c3fc2ee2373eac67bbda399a62ca,0826a6f09057c3fc2ee2373eac67bbda399a62ca,0826a6f09057c3fc2ee2373eac67bbda399a62ca,0826a6f09057c3fc2ee2373eac67bbda399a62ca..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,88 -1,88 -1,88 -1,88 +1,0 @@@@@
----//
----// Test for access modifiers
----//
----
----using System;
----
---- public class Tester {
----
----     static void Main ()
----     {
----             A a = new A (8);
----             B b = new B (9);
----
----             b.SetCount (10);
----             Console.WriteLine ("b.Count should be 9: {0}", b.Count);
----             Console.WriteLine ("b [{0}] should return {0}: {1}", 10, b [10]);
----
----             Console.WriteLine ("a.Message : {0}", a.Message);
----             b.Message = "";
----             Console.WriteLine ("b.Messasge : {0}", b.Message);
----     }
----
---- }
----
---- public class A {
----
----     protected int count;
----
----     public A (int count)
----     {
----             this.count = count;
----     }
----
----     public virtual int Count {
----             get {
----                     return count;
----             }
----             protected set {
----                     count = value;
----             }
----     }
----
----     public virtual int this [int index] {
----             get {
----                     return index;
----             }
----     }
----
----     public virtual string Message {
----             get {
----                     return "Hello Mono";
----             }
----     }
----
---- }
----
---- public class B : A {
----
----     public B (int count) : base (count)
----     {
----     }
----
----     public override int Count {
----             protected set {
----             }
----     }
----
----     public void SetCount (int value)
----     {
----             Count = value;
----     }
----
----     public override int this [int index] {
----             get {
----                     return base [index];
----             }
----     }
----
----     public new string Message {
----             get {
----                     return "Hello Mono (2)";
----             }
----             internal set {
----             }
----     }
----
---- }
----
diff --cc mcs/tests/acc-modifiers2.cs
index 59b9df152502b33184fc985361ba6ff4ddf3917e,59b9df152502b33184fc985361ba6ff4ddf3917e,59b9df152502b33184fc985361ba6ff4ddf3917e,59b9df152502b33184fc985361ba6ff4ddf3917e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,146 -1,146 -1,146 -1,146 +1,0 @@@@@
----//
----// acc-modifiers2.cs: We use reflection to test that the flags are the correct ones
----//
----
----using System;
----using System.Reflection;
----
---- [AttributeUsage (AttributeTargets.Class)]
---- public class TypeCheckAttribute : Attribute {
----
----     public TypeCheckAttribute ()
----     {
----     }
---- }
----
---- [AttributeUsage (AttributeTargets.Property)]
---- public class PropertyCheckAttribute : Attribute {
----
----     public PropertyCheckAttribute ()
----     {
----     }
---- }
----
---- [AttributeUsage (AttributeTargets.Method)]
---- public class AccessorCheckAttribute : Attribute {
----     MethodAttributes flags;
----
----     public AccessorCheckAttribute (MethodAttributes flags)
----     {
----             this.flags = flags;
----     }
----
----     public MethodAttributes Attributes {
----             get {
----                     return flags;
----             }
----     }
---- }
----
---- public class Test {
----
----     public static int Main (string [] args)
----     {
----             Type t = typeof (A);
----             
----             foreach (PropertyInfo pi in t.GetProperties ()) {
----                     object [] attrs = pi.GetCustomAttributes (typeof (PropertyCheckAttribute), true);
----                     if (attrs == null)
----                             return 0;
----                     
----                     MethodInfo get_accessor, set_accessor;
----                     get_accessor = pi.GetGetMethod (true);
----                     set_accessor = pi.GetSetMethod (true);
----                     
----                     if (get_accessor != null)
----                             CheckFlags (pi, get_accessor);
----                     if (set_accessor != null)
----                             CheckFlags (pi, set_accessor);
----             }
----
----             return 0;
----     }
----
----     static void CheckFlags (PropertyInfo pi, MethodInfo accessor)
----     {
----             object [] attrs = accessor.GetCustomAttributes (typeof (AccessorCheckAttribute), true);
----             if (attrs == null)
----                     return;
----
----             AccessorCheckAttribute accessor_attr = (AccessorCheckAttribute) attrs [0];
----             MethodAttributes accessor_flags = accessor.Attributes;
----
----             if ((accessor_flags & accessor_attr.Attributes) == accessor_attr.Attributes)
----                     Console.WriteLine ("Test for {0}.{1} PASSED", pi.Name, accessor.Name);
----             else {
----                     string message = String.Format ("Test for {0}.{1} INCORRECT: MethodAttributes should be {2}, but are {3}",
----                                     pi.Name, accessor.Name, accessor_attr.Attributes, accessor_flags);
----                     throw new Exception (message);
----             }
----     }
----
---- }
----
---- [TypeCheck]
---- public class A {
----
----     const MethodAttributes flags = MethodAttributes.HideBySig |
----             MethodAttributes.SpecialName;
----
----     [PropertyCheck]
----     public int Value1 {
----             [AccessorCheck (flags | MethodAttributes.Public)]
----             get {
----                     return 0;
----             }
----             [AccessorCheck (flags | MethodAttributes.Public)]
----             set {
----             }
----     }
----
----     [PropertyCheck]
----     public int Value2 {
----             [AccessorCheck (flags | MethodAttributes.Public)]
----             get {
----                     return 0;
----             }
----             [AccessorCheck (flags | MethodAttributes.FamORAssem)]
----             protected internal set {
----             }
----     }
----
----     [PropertyCheck]
----     public int Value3 {
----             [AccessorCheck (flags | MethodAttributes.Public)]
----             get {
----                     return 0;
----             }
----             [AccessorCheck (flags | MethodAttributes.Family)]
----             protected set {
----             }
----     }
----
----     [PropertyCheck]
----     public int Value4 {
----             [AccessorCheck (flags | MethodAttributes.Assembly)]
----             internal get {
----                     return 0;
----             }
----             [AccessorCheck (flags | MethodAttributes.Public)]
----             set {
----             }
----     }
----
----     [PropertyCheck]
----     public int Value5 {
----             [AccessorCheck (flags | MethodAttributes.Public)]
----             get {
----                     return 0;
----             }
----             [AccessorCheck (flags | MethodAttributes.Private)]
----             private set {
----             }
----     }
----
---- }
----
diff --cc mcs/tests/c1.cs
index 8b81c046864e453fd4bb90bb8f29e738b1e41332,8b81c046864e453fd4bb90bb8f29e738b1e41332,8b81c046864e453fd4bb90bb8f29e738b1e41332,8b81c046864e453fd4bb90bb8f29e738b1e41332..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,7 -1,7 -1,7 -1,7 +1,0 @@@@@
----// cs0146.cs: circular class definition
----// Line: 6
----class A : B {
----}
----
----class B : A {
----}
diff --cc mcs/tests/c2.cs
index eeeb6f19e741d307a34b074298f6663770040aa0,eeeb6f19e741d307a34b074298f6663770040aa0,eeeb6f19e741d307a34b074298f6663770040aa0,eeeb6f19e741d307a34b074298f6663770040aa0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,2 -1,2 -1,2 -1,2 +1,0 @@@@@
----class X {
----}
diff --cc mcs/tests/casts.cs
index 63ce5eaaa35f9ef23713f5fd38eadbc466969652,63ce5eaaa35f9ef23713f5fd38eadbc466969652,63ce5eaaa35f9ef23713f5fd38eadbc466969652,63ce5eaaa35f9ef23713f5fd38eadbc466969652..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,566 -1,566 -1,566 -1,566 +1,0 @@@@@
----using System;
----class Test {
----
----    static void receive_int (int a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_uint (uint a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_short (short a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_ushort (ushort a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_long (long a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_ulong (ulong a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_sbyte (sbyte a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_byte (byte a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void receive_char (char a)
----    {
----            Console.Write ("        ");
----            Console.WriteLine (a);
----    }
----
----    static void probe_int()
----    {
----            int zero = (int) 0;
----            int min = (int) int.MinValue;
----            int max = (int) int.MaxValue;
----
----            Console.WriteLine ("Testing: int");
----
----            Console.WriteLine ("   arg: int (int)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (int)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (int)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (int)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (int)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (int)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (int)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (int)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (int)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_uint()
----    {
----            uint zero = (uint) 0;
----            uint min = (uint) uint.MinValue;
----            uint max = (uint) uint.MaxValue;
----
----            Console.WriteLine ("Testing: uint");
----
----            Console.WriteLine ("   arg: int (uint)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (uint)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (uint)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (uint)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (uint)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (uint)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (uint)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (uint)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (uint)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_short()
----    {
----            short zero = (short) 0;
----            short min = (short) short.MinValue;
----            short max = (short) short.MaxValue;
----
----            Console.WriteLine ("Testing: short");
----
----            Console.WriteLine ("   arg: int (short)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (short)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (short)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (short)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (short)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (short)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (short)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (short)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (short)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_ushort()
----    {
----            ushort zero = (ushort) 0;
----            ushort min = (ushort) ushort.MinValue;
----            ushort max = (ushort) ushort.MaxValue;
----
----            Console.WriteLine ("Testing: ushort");
----
----            Console.WriteLine ("   arg: int (ushort)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (ushort)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (ushort)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (ushort)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (ushort)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (ushort)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (ushort)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (ushort)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (ushort)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_long()
----    {
----            long zero = (long) 0;
----            long min = (long) long.MinValue;
----            long max = (long) long.MaxValue;
----
----            Console.WriteLine ("Testing: long");
----
----            Console.WriteLine ("   arg: int (long)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (long)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (long)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (long)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (long)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (long)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (long)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (long)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (long)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_ulong()
----    {
----            ulong zero = (ulong) 0;
----            ulong min = (ulong) ulong.MinValue;
----            ulong max = (ulong) ulong.MaxValue;
----
----            Console.WriteLine ("Testing: ulong");
----
----            Console.WriteLine ("   arg: int (ulong)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (ulong)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (ulong)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (ulong)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (ulong)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (ulong)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (ulong)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (ulong)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (ulong)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_sbyte()
----    {
----            sbyte zero = (sbyte) 0;
----            sbyte min = (sbyte) sbyte.MinValue;
----            sbyte max = (sbyte) sbyte.MaxValue;
----
----            Console.WriteLine ("Testing: sbyte");
----
----            Console.WriteLine ("   arg: int (sbyte)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (sbyte)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (sbyte)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (sbyte)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (sbyte)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (sbyte)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (sbyte)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (sbyte)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (sbyte)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_byte()
----    {
----            byte zero = (byte) 0;
----            byte min = (byte) byte.MinValue;
----            byte max = (byte) byte.MaxValue;
----
----            Console.WriteLine ("Testing: byte");
----
----            Console.WriteLine ("   arg: int (byte)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (byte)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (byte)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (byte)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (byte)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (byte)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (byte)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (byte)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (byte)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void probe_char()
----    {
----            char zero = (char) 0;
----            char min = (char) char.MinValue;
----            char max = (char) char.MaxValue;
----
----            Console.WriteLine ("Testing: char");
----
----            Console.WriteLine ("   arg: int (char)");
----
----            receive_int (unchecked((int) zero));
----            receive_int (unchecked((int) min));
----            receive_int (unchecked((int) max));
----            Console.WriteLine ("   arg: uint (char)");
----
----            receive_uint (unchecked((uint) zero));
----            receive_uint (unchecked((uint) min));
----            receive_uint (unchecked((uint) max));
----            Console.WriteLine ("   arg: short (char)");
----
----            receive_short (unchecked((short) zero));
----            receive_short (unchecked((short) min));
----            receive_short (unchecked((short) max));
----            Console.WriteLine ("   arg: ushort (char)");
----
----            receive_ushort (unchecked((ushort) zero));
----            receive_ushort (unchecked((ushort) min));
----            receive_ushort (unchecked((ushort) max));
----            Console.WriteLine ("   arg: long (char)");
----
----            receive_long (unchecked((long) zero));
----            receive_long (unchecked((long) min));
----            receive_long (unchecked((long) max));
----            Console.WriteLine ("   arg: ulong (char)");
----
----            receive_ulong (unchecked((ulong) zero));
----            receive_ulong (unchecked((ulong) min));
----            receive_ulong (unchecked((ulong) max));
----            Console.WriteLine ("   arg: sbyte (char)");
----
----            receive_sbyte (unchecked((sbyte) zero));
----            receive_sbyte (unchecked((sbyte) min));
----            receive_sbyte (unchecked((sbyte) max));
----            Console.WriteLine ("   arg: byte (char)");
----
----            receive_byte (unchecked((byte) zero));
----            receive_byte (unchecked((byte) min));
----            receive_byte (unchecked((byte) max));
----            Console.WriteLine ("   arg: char (char)");
----
----            receive_char (unchecked((char) zero));
----            receive_char (unchecked((char) min));
----            receive_char (unchecked((char) max));
----    }
----
----    static void Main ()
----    {
----            probe_int ();
----            probe_uint ();
----            probe_short ();
----            probe_ushort ();
----            probe_long ();
----            probe_ulong ();
----            probe_sbyte ();
----            probe_byte ();
----            probe_char ();
----    }
----}
----
diff --cc mcs/tests/cls-test-0.cs
index b4b21ecbdce5325d4fa326986a048268d721d415,b4b21ecbdce5325d4fa326986a048268d721d415,b4b21ecbdce5325d4fa326986a048268d721d415,b4b21ecbdce5325d4fa326986a048268d721d415..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,108 -1,108 -1,108 -1,108 +1,0 @@@@@
----using System;
----using System.Reflection;
----using System.ComponentModel;
----
----[assembly: CLSCompliant(true)]
----[assembly: AssemblyTitle("")]
----
----public class CLSCLass_6 {
----    private object disposedEvent = new object ();
----    public EventHandlerList event_handlers;    
----        
----    public event Delegate Disposed {
----        add { event_handlers.AddHandler (disposedEvent, value); }
----    remove { event_handlers.RemoveHandler (disposedEvent, value); }
----    }
----}
----
----public delegate CLSDelegate Delegate ();
----    
----[Serializable]
----public class CLSDelegate {
----}
----
----internal class CLSClass_5 {
----        [CLSCompliant (true)]
----        public uint Test () {
----                return 1;
----        }
----}
----
----[CLSCompliant (true)]
----public class CLSClass_4 {
----        [CLSCompliant (false)]
----        public uint Test () {
----                return 1;
----        }
----}
----
----public class CLSClass_3 {
----        [CLSCompliant (false)]
----        public uint Test_3 () {
----                return 6;
----        }
----}
----
----[CLSCompliant(false)]
----public class CLSClass_2 {
----        public sbyte XX {
----            get { return -1; }
----        }
----}
----
----class CLSClass_1 {
----        public UInt32 Valid() {
----                return 5;
----        }
----}
----    
----[CLSCompliant(true)]
----public class CLSClass {
----    
----        private class C1 {
----            
----            [CLSCompliant(true)]
----            public class C11 {
----                protected ulong Foo3() {
----                    return 1;
----                }
----            }
----
----            protected long Foo2() {
----                return 1;
----            }
----        }
----
----    [CLSCompliant(false)]
----    protected internal class CLSClass_2 {
----            public sbyte XX {
----                get { return -1; }
----            }
----    }
----
----        
----    [CLSCompliant(true)]
----        private ulong Valid() {
----                return 1;
----        }
----        
----        [CLSCompliant(true)]
----        public byte XX {
----            get { return 5; }
----        }
----
----//        protected internal sbyte FooProtectedInternal() {
----//                return -4;
----//       }
----        
----        internal UInt32 FooInternal() {
----                return 1;
----        }        
----    
----        private ulong Foo() {
----                return 1;
----        }
----
----        
----        public static void Main() {}
----}
diff --cc mcs/tests/cls-test-1.cs
index a3bda41a2605ee346aca7e613ed15584b45ed53c,a3bda41a2605ee346aca7e613ed15584b45ed53c,a3bda41a2605ee346aca7e613ed15584b45ed53c,a3bda41a2605ee346aca7e613ed15584b45ed53c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----using System;
----
----public class CLSClass {
----    
----        public byte XX {
----            get { return 5; }
----        }
----
----        public static void Main() {}
----}
diff --cc mcs/tests/cls-test-10.cs
index f919ec6341ada725ee9f67ad25b4a8db0b7e324d,f919ec6341ada725ee9f67ad25b4a8db0b7e324d,f919ec6341ada725ee9f67ad25b4a8db0b7e324d,f919ec6341ada725ee9f67ad25b4a8db0b7e324d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----using System;
----[assembly:CLSCompliant (true)]
----
----[CLSCompliant (false)]
----public interface I {
----        [CLSCompliant (false)]
----        void Error (ulong arg);
----}
----
----[CLSCompliant (false)]
----public interface I2 {
----        [CLSCompliant (true)]
----        void Error (long arg);
----}
----
----
----public class MainClass {
----        public static void Main () {
----        }
----}
diff --cc mcs/tests/cls-test-11.cs
index e7e47e743e1d925c1e43e2a8831bb0aea8e68d02,e7e47e743e1d925c1e43e2a8831bb0aea8e68d02,e7e47e743e1d925c1e43e2a8831bb0aea8e68d02,e7e47e743e1d925c1e43e2a8831bb0aea8e68d02..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----using System;
----[assembly:CLSCompliant (true)]
----
----[CLSCompliant (true)]
----public abstract class CLSClass {
----        [CLSCompliant (true)]
----        public abstract void Test (IComparable arg);
----}
----
----public abstract class CLSCLass_2 {
----        public abstract void Test ();
----}
----
----public class MainClass {
----        public static void Main () {
----        }
----}
diff --cc mcs/tests/cls-test-12.cs
index af79b996bc2536a3fe342c96aca5fa377e1fc94d,af79b996bc2536a3fe342c96aca5fa377e1fc94d,af79b996bc2536a3fe342c96aca5fa377e1fc94d,af79b996bc2536a3fe342c96aca5fa377e1fc94d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,9 -1,9 -1,9 -1,9 +1,0 @@@@@
----using System;
----
----[module: CLSCompliant(true)]
----[assembly: CLSCompliant(true)]
----
----public class MainClass {
----        public static void Main () {
----        }
----}
diff --cc mcs/tests/cls-test-14.cs
index 4d408c56a21bc206cd38a3bd2691326df8d9cecb,4d408c56a21bc206cd38a3bd2691326df8d9cecb,4d408c56a21bc206cd38a3bd2691326df8d9cecb,4d408c56a21bc206cd38a3bd2691326df8d9cecb..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----using System;
----
----public class CLSClass {
----        [CLSCompliant (false)]
----        static public implicit operator CLSClass(byte value) {
----               return new CLSClass();
----        }
----        
----        [CLSCompliant (true)]
----        private void Error (bool arg) {
----        }
----}
----
----public class MainClass {
----        public static void Main () {
----        }
----}
diff --cc mcs/tests/cls-test-15.cs
index 7f93f9e4381b5b5de893537d6da21e24da744f13,7f93f9e4381b5b5de893537d6da21e24da744f13,7f93f9e4381b5b5de893537d6da21e24da744f13,7f93f9e4381b5b5de893537d6da21e24da744f13..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,31 -1,31 -1,31 -1,31 +1,0 @@@@@
----using System;
----[assembly:CLSCompliant (true)]
----
----public class CLSAttribute_1: Attribute {
----       public CLSAttribute_1(int[] array) {
----       }
----   
----       public CLSAttribute_1(int array) {
----       }
----}
----
----[CLSCompliant (false)]
----public class CLSAttribute_2: Attribute {
----       private CLSAttribute_2(int arg) {
----       }   
----}
----
----internal class CLSAttribute_3: Attribute {
----       public CLSAttribute_3(int[] array) {
----       }
----}
----
----[CLSCompliant (false)]
----public class CLSAttribute_4: Attribute {
----       private CLSAttribute_4(int[] args) {
----       }   
----}
----
----public class ClassMain {
----        public static void Main () {}
----}
diff --cc mcs/tests/cls-test-16.cs
index 5929b442e4e0a681dbe78ea1da0157094c15242b,5929b442e4e0a681dbe78ea1da0157094c15242b,5929b442e4e0a681dbe78ea1da0157094c15242b,5929b442e4e0a681dbe78ea1da0157094c15242b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----using System;
----[assembly:CLSCompliant (true)]
----
----[CLSCompliant (false)]
----[CLSAttribute (new bool [] {true, false})]
----public class CLSAttribute: Attribute {
----       public CLSAttribute(bool[] array) {
----       }
----}
----
----public class ClassMain {
----        public static void Main () {}
----}
diff --cc mcs/tests/cls-test-2.cs
index 3be78b28ec53205932c2036cf0d007751997990a,3be78b28ec53205932c2036cf0d007751997990a,3be78b28ec53205932c2036cf0d007751997990a,3be78b28ec53205932c2036cf0d007751997990a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,36 -1,36 -1,36 -1,36 +1,0 @@@@@
----using System;
----using System.Reflection;
----
----[assembly: CLSCompliant (true)]
----
----public class CLSClass {
----        [CLSCompliant(false)]
----        public CLSClass(ulong l) {}
----        internal CLSClass(uint i) {}
----            
----        [CLSCompliant(false)]
----        public ulong X_0 {
----            set {}
----            }
----            
----        [CLSCompliant(false)]
----        protected ulong this[ulong i] {
----            set {}
----        }
----        
----        [CLSCompliant(false)]
----        public ulong X_1;
----            
----        internal ulong X_2;
----
----        public static void Main() {
----    }
----}
----public class InnerTypeClasss {
----    public struct Struct {
----    }
----    
----    public Struct Method () {
----        return new Struct ();
----    }
----}
diff --cc mcs/tests/cls-test-3.cs
index 483b00dd88024b4e6d64ed9a6761a4d84ef57c4c,483b00dd88024b4e6d64ed9a6761a4d84ef57c4c,483b00dd88024b4e6d64ed9a6761a4d84ef57c4c,483b00dd88024b4e6d64ed9a6761a4d84ef57c4c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----using System;
----[assembly:CLSCompliant(true)]
----
----public interface I1 {
----}
----
----public class CLSClass {
----        protected internal I1 Foo() {
----                return null;
----        }
----       
----        static void Main() {}
----}
diff --cc mcs/tests/cls-test-5.cs
index ddd135d9547d5191542707e318d548764ef2adc4,ddd135d9547d5191542707e318d548764ef2adc4,ddd135d9547d5191542707e318d548764ef2adc4,ddd135d9547d5191542707e318d548764ef2adc4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,101 -1,101 -1,101 -1,101 +1,0 @@@@@
----using System;
----
----[assembly:CLSCompliant(true)]
----
----class X1 {
----        public bool AA;
----        internal bool aa;
----}
----
----class X2: X1 {
----        public bool aA;
----}
----
----public class X3 {
----        internal void bb(bool arg) {}
----        internal bool bB;
----        public void BB() {}
----}
----
----class X4 {
----        public void method(int arg) {}
----        public void method(bool arg) {}
----        public bool method() { return false; }
----}
----
----
----public class BaseClass {
----        //protected internal bool mEthod() { return false; }
----}
----
----public class CLSClass: BaseClass {
----        public CLSClass() {}
----        public CLSClass(int arg) {}
----            
----        //public int this[int index] { set {} }
----        //protected int this[bool index] { set {} }
----       
----        public bool setItem;
----        static public implicit operator CLSClass(bool value) {
----               return new CLSClass(2);
----        }
----
----        static public implicit operator CLSClass(int value) {
----               return new CLSClass(2);
----        }
----        
----        [CLSCompliant(false)]
----        public void Method() {}
----            
----        internal int Method(bool arg) { return 1; }
----        internal void methoD() {}
----            
----        public static void Main() {}
----}
----
----public class oBject: Object {
----}
----
----namespace A {
----    public class C1 {
----    }
----}
----
----namespace B {
----    public class c1 {
----    }
----}
----
----public class c1 {
----}
----// Test
----[System.CLSCompliant (false)]
----public interface I1 {
----}
----
----public interface i1 {
----}
----
----// Test
----enum AB {
----}
----
----[CLSCompliant (false)]
----public enum aB {
----}
----
----public interface ab {
----}
----
----// Test
----public class CLSClass_2 {
----        [CLSCompliant (false)]
----        public void Method () {}
----        public void method () {}
----}
----
----// Test
----namespace System {
----    public class sByte {
----    }
----}
diff --cc mcs/tests/cls-test-6.cs
index c1ab9addaffb9c8729d8f104079e9e11527ccc2e,c1ab9addaffb9c8729d8f104079e9e11527ccc2e,c1ab9addaffb9c8729d8f104079e9e11527ccc2e,c1ab9addaffb9c8729d8f104079e9e11527ccc2e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,58 -1,58 -1,58 -1,58 +1,0 @@@@@
----using System;
----
----[assembly:CLSCompliant(true)]
----
----[CLSCompliant(false)]
----public delegate uint MyDelegate();
----
----[CLSCompliant(false)]
----public interface IFake {
----        [CLSCompliant(true)]
----        long AA(long arg);
----        [CLSCompliant(false)]
----        ulong BB { get; }
----        //[CLSCompliant(false)]
----        //sbyte this[ulong I] { set; }
----        [CLSCompliant(false)]
----        event MyDelegate MyEvent;
----}
----
----[CLSCompliant(false)]
----internal interface I {
----        [CLSCompliant(false)]
----        void Foo();
----
----        [CLSCompliant(true)]
----        ulong this[int indexA] { set; }
----}
----
----interface I2 {
----        int Test(int arg1, bool arg2);
----}
----
----public class CLSClass {
----        [CLSCompliant(false)]
----        public delegate uint MyDelegate();    
----    
----        public static void Main() {}
----}
----public class CLSClass_2 {
----    [CLSCompliant (false)]
----    public CLSClass_2(int[,,] b) {
----    }
----
----    public CLSClass_2(int[,] b) {
----    }
----
----    public void Test (int[,] b, int i) {}
----    public void Test (int[,,] b, bool b2) {}
----}
----
----public class X1 {
----    [CLSCompliant (false)]
----    public void M2 (int i) {}
----}
----
----public class X2: X1 {
----    public void M2 (ref int i) {}
----}
diff --cc mcs/tests/cls-test-7.cs
index 6084e41177574577597a7bc1e3539f6fe021d08c,6084e41177574577597a7bc1e3539f6fe021d08c,6084e41177574577597a7bc1e3539f6fe021d08c,6084e41177574577597a7bc1e3539f6fe021d08c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----using System;
----
----[assembly:CLSCompliant(true)]
----
----namespace aa {
----    public class I1 {
----    }
----}
----
----namespace bb {
----    public interface i1 {
----    }
----}
----
----public class CLSClass {
----        public static void Main() {}
----}
diff --cc mcs/tests/co1.cs
index da1bdaab2463153248ea24921daaaaa5f66ac61d,da1bdaab2463153248ea24921daaaaa5f66ac61d,da1bdaab2463153248ea24921daaaaa5f66ac61d,da1bdaab2463153248ea24921daaaaa5f66ac61d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,4 -1,4 -1,4 -1,4 +1,0 @@@@@
----class X {\r
----    const int x = 1;\r
----    const string s = "Hello";\r
----}\r
diff --cc mcs/tests/cond-attr.cs
index d3ad49d4104be711ce7a595fa22079f33f8b51ad,d3ad49d4104be711ce7a595fa22079f33f8b51ad,d3ad49d4104be711ce7a595fa22079f33f8b51ad,d3ad49d4104be711ce7a595fa22079f33f8b51ad..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,46 -1,46 -1,46 -1,46 +1,0 @@@@@
----#define DEBUG
----
----using System;
----using System.Diagnostics;
----
----[Conditional("DEBUG")]
----public class TestAttribute : Attribute {}
----
----[Conditional("RELEASE")]
----public class TestNotAttribute : Attribute {}
----
----[Conditional("A")]
----[Conditional("DEBUG")]    
----[Conditional("B")]
----public class TestMultiAttribute : Attribute {}
----    
----// TestAttribute is included
----[Test]                              
----class Class1 {}
----    
----// TestNotAttribute is not included
----[TestNot]                   
----class Class2 {}
----
----// Is included    
----[TestMulti]
----class Class3 {}
----
----
----public class TestClass
----{
----    public static int Main ()
----    {
----    if (Attribute.GetCustomAttributes (typeof (Class1)).Length != 1)
----            return 1;
----
----    if (Attribute.GetCustomAttributes (typeof (Class2)).Length != 0)
----            return 1;
----
----    if (Attribute.GetCustomAttributes (typeof (Class3)).Length != 1)
----            return 1;
----    
----    Console.WriteLine ("OK");
----    return 0;
----    }
----}
diff --cc mcs/tests/conv-dll.cs
index a4d2ca9ce589ad3c80fccb5d1a3a3d08424e2bb4,a4d2ca9ce589ad3c80fccb5d1a3a3d08424e2bb4,a4d2ca9ce589ad3c80fccb5d1a3a3d08424e2bb4,a4d2ca9ce589ad3c80fccb5d1a3a3d08424e2bb4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----// Compiler options: -t:library
----
----public class A
----{
----    public static bool operator==(A a1, A a2)
----    {
----            return true;
----    }
----
----    public static bool operator!=(A a1, A a2)
----    {
----            return false;
----    }
----
----    public override bool Equals (object o)
----    {
----            return true;
----    }
----
----    public override int GetHashCode ()
----    {
----            return base.GetHashCode ();
----    }
----
----    public int KK () { return 1; }
----}
----
----public class B : A {
----}
----
diff --cc mcs/tests/conv-exe.cs
index fc48638420bdcf7a367c63db7d66ac04d8970459,fc48638420bdcf7a367c63db7d66ac04d8970459,fc48638420bdcf7a367c63db7d66ac04d8970459,fc48638420bdcf7a367c63db7d66ac04d8970459..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -r:conv-dll.dll
----
----public class MainClass
----{
----    public static int Main ()
----    {
----            A a = new A ();
----            B b = new B ();
----            bool r = (a == b);
----
----                return 0;
----    }
----}
diff --cc mcs/tests/covariance-1.cs
index 9eba405cec4a8c185f93389894da634ac8483eca,9eba405cec4a8c185f93389894da634ac8483eca,9eba405cec4a8c185f93389894da634ac8483eca,9eba405cec4a8c185f93389894da634ac8483eca..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,79 -1,79 -1,79 -1,79 +1,0 @@@@@
----// Compiler options: -langversion:default
----// Test for covariance support in delegates
----//
----
----using System;
----
---- public class A {
----     protected string name;
----     
----     public A (string name)
----     {
----             this.name = "A::" + name;
----     }
----
----     public A ()
----     {
----     }
----
----     public string Name {
----             get {
----                     return name;
----             }
----     }
---- }
----
---- public class B : A {
----     public B (string name)
----     {
----             this.name = "B::" + name;
----     }
----
----     public B ()
----     {
----     }
---- }
----
---- public class C : B {
----     public C (string name)
----     {
----             this.name = "C::" + name;
----     }
---- }
----
---- public class Tester {
----
----     delegate A MethodHandler (string name);
----
----     static A MethodSampleA (string name)
----     {
----             return new A (name);
----     }
----
----     static B MethodSampleB (string name)
----     {
----             return new B (name);
----     }
----
----     static C MethodSampleC (string name)
----     {
----             return new C (name);
----     }
----
----     static void Main ()
----     {
----             MethodHandler a = MethodSampleA;
----             MethodHandler b = MethodSampleB;
----             MethodHandler c = MethodSampleC;
----
----             A instance1 = a ("Hello");
----             A instance2 = b ("World");
----             A instance3 = c ("!");
----
----             Console.WriteLine (instance1.Name);
----             Console.WriteLine (instance2.Name);
----             Console.WriteLine (instance3.Name);
----     }
----    
---- }
----
diff --cc mcs/tests/covariance-2.cs
index d1fd42ed54ab3c2b3e1898da5fa904d104a7d9c4,d1fd42ed54ab3c2b3e1898da5fa904d104a7d9c4,d1fd42ed54ab3c2b3e1898da5fa904d104a7d9c4,d1fd42ed54ab3c2b3e1898da5fa904d104a7d9c4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,89 -1,89 -1,89 -1,89 +1,0 @@@@@
----// Compiler options: -langversion:default
----//
----// Test for contravariance support in delegates
----//
----
----using System;
----
---- public class A {
----     protected string name;
----     
----     public A (string name)
----     {
----             this.name = "A::" + name;
----     }
----
----     public A ()
----     {
----     }
----
----     public string Name {
----             get {
----                     return name;
----             }
----     }
---- }
----
---- public class B : A {
----     public B (string name)
----     {
----             this.name = "B::" + name;
----     }
----
----     public B ()
----     {
----     }
---- }
----
---- public class C : B {
----     string value;
----
----     public C (string name, string value)
----     {
----             this.name = "C::" + name;
----             this.value = value;
----     }
----
----     public string Value {
----             get {
----                     return value;
----             }
----     }
---- }
----
---- public class Tester {
----
----     delegate string MethodHandler (C c);
----
----     static string MethodSampleA (A value)
----     {
----             return value.Name;
----     }
----
----     static string MethodSampleB (B value)
----     {
----             return value.Name;
----     }
----
----     static string MethodSampleC (C value)
----     {
----             return value.Name + " " + value.Value;
----     }
----
----     static void Main ()
----     {
----             MethodHandler da = MethodSampleA;
----             MethodHandler db = MethodSampleB;
----             MethodHandler dc = MethodSampleC;
----
----             C a = new C ("Hello", "hello");
----             C b = new C ("World", "world");
----             C c = new C ("!", "!!!");
----
----             Console.WriteLine (da (a));
----             Console.WriteLine (db (b));
----             Console.WriteLine (dc (c));
----     }
----    
---- }
----
diff --cc mcs/tests/covariance-3.cs
index e63ebc73d4dc2824a66e11c54f843ded716d0dba,e63ebc73d4dc2824a66e11c54f843ded716d0dba,e63ebc73d4dc2824a66e11c54f843ded716d0dba,e63ebc73d4dc2824a66e11c54f843ded716d0dba..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,77 -1,77 -1,77 -1,77 +1,0 @@@@@
----// Compiler options: -langversion:default
----//
----// Test for contravariance support in delegates
----//
----
----using System;
----
---- public class A {
----     protected string name;
----     
----     public A (string name)
----     {
----             this.name = "A::" + name;
----     }
----
----     public A ()
----     {
----     }
----
----     public string Name {
----             get {
----                     return name;
----             }
----     }
---- }
----
---- public class B : A {
----     public B (string name)
----     {
----             this.name = "B::" + name;
----     }
----
----     public B ()
----     {
----     }
---- }
----
---- public class C : B {
----     string value;
----
----     public C (string name, string value)
----     {
----             this.name = "C::" + name;
----             this.value = value;
----     }
----
----     public string Value {
----             get {
----                     return value;
----             }
----     }
---- }
----
---- public class Tester {
----
----     delegate void MethodHandler (C c1, C c2, C c3);
----
----     static void MethodSample (B b, A a, C c)
----     {
----             Console.WriteLine ("b = {0}", b.Name);
----             Console.WriteLine ("a = {0}", a.Name);
----             Console.WriteLine ("c = {0}, {1}", c.Name, c.Value);
----     }
----
----     static void Main ()
----     {
----             MethodHandler mh = MethodSample;
----
----             C a = new C ("Hello", "hello");
----             C b = new C ("World", "world");
----             C c = new C ("!", "!!!");
----
----             mh (b, a, c);
----     }
----    
---- }
----
diff --cc mcs/tests/cs1.cs
index bfb3c74b3c8c8e1d961649afd4a689cd0b82ab72,bfb3c74b3c8c8e1d961649afd4a689cd0b82ab72,bfb3c74b3c8c8e1d961649afd4a689cd0b82ab72,bfb3c74b3c8c8e1d961649afd4a689cd0b82ab72..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,5 -1,5 -1,5 -1,5 +1,0 @@@@@
----class X {\r
----}\r
----\r
----struct Y {\r
----}\r
diff --cc mcs/tests/csc-casts.out
index 70ce7135da884abc44a39138cb94b5e758e19e54,70ce7135da884abc44a39138cb94b5e758e19e54,70ce7135da884abc44a39138cb94b5e758e19e54,70ce7135da884abc44a39138cb94b5e758e19e54..0000000000000000000000000000000000000000
deleted file mode 100755,100755,100755,100755
Binary files differ
diff --cc mcs/tests/fixed-buffer-dll.cs
index 61b92f1e7339e355136019cecb88cde589d258bd,61b92f1e7339e355136019cecb88cde589d258bd,61b92f1e7339e355136019cecb88cde589d258bd,61b92f1e7339e355136019cecb88cde589d258bd..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,6 -1,6 -1,6 -1,6 +1,0 @@@@@
----// Compiler options: -t:library -unsafe
----
----public unsafe struct ExternalStruct
----{
----    public fixed double double_buffer [4];
----}
diff --cc mcs/tests/fixed-buffer-exe.cs
index 8cde14116f7cce3000c16de2c6233dfefa1aa05e,8cde14116f7cce3000c16de2c6233dfefa1aa05e,8cde14116f7cce3000c16de2c6233dfefa1aa05e,8cde14116f7cce3000c16de2c6233dfefa1aa05e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,53 -1,53 -1,53 -1,53 +1,0 @@@@@
----// Compiler options: -unsafe -r:fixed-buffer-dll.dll
----
----using System;
----
----public unsafe struct TestNew {
----    private fixed char test_1 [128];
----    public fixed bool test2 [4];
----    
----    public fixed int T [2];
----    public fixed bool test20 [4], test21 [40];
----    
----    private int foo, foo2;
----    public void SetTest () {
----            fixed (char* c = test_1) {
----                    *c = 'g';
----            }
----    }
----}
----
----public class C {
----    unsafe static int Test () {
----            TestNew tt = new TestNew ();
----            tt.SetTest ();
----            tt.test2 [2] = false;
----            tt.T [1] = 5544;
----            if (tt.T [1] != 5544)
----                    return 2;
----    
----            ExternalStruct es = new ExternalStruct ();
----            es.double_buffer [1] = 999999.8888;
----            es.double_buffer [0] = es.double_buffer [1];
----
----            // Attributes test
----            if (Attribute.GetCustomAttribute (typeof (TestNew).GetField ("test2"), typeof (System.Runtime.CompilerServices.FixedBufferAttribute)) == null)
----                    return 3;
----
----            
----            if (typeof (TestNew).GetNestedTypes ().Length != 5)
----                    return 5;
----
----            foreach (Type t in typeof (TestNew).GetNestedTypes ()) {
----                    if (Attribute.GetCustomAttribute (t, typeof (System.Runtime.CompilerServices.CompilerGeneratedAttribute)) == null)
----                            return 4;
----            }
----
----            Console.WriteLine ("OK");
----            return 0;
----    }
----    
----    public static int Main () {
----            return Test ();
----    }
----}
diff --cc mcs/tests/gen-1.cs
index fc54c2a3dbeb8f87dca6378440ed6ff2740f5173,fc54c2a3dbeb8f87dca6378440ed6ff2740f5173,fc54c2a3dbeb8f87dca6378440ed6ff2740f5173,fc54c2a3dbeb8f87dca6378440ed6ff2740f5173..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,9 -1,9 -1,9 -1,9 +1,0 @@@@@
----class Stack < type > {
----
----}
----
----class Boot {
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-10.cs
index 26b88153a5153eac5eaade8e69331921f2462e66,26b88153a5153eac5eaade8e69331921f2462e66,26b88153a5153eac5eaade8e69331921f2462e66,26b88153a5153eac5eaade8e69331921f2462e66..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,38 -1,38 -1,38 -1,38 +1,0 @@@@@
----// Type parameters with constraints: check whether we can invoke
----// things on the constrained type.
----
----using System;
----
----interface I
----{
----    void Hello ();
----}
----
----class J
----{
----    public void Foo ()
----    {
----            Console.WriteLine ("Foo!");
----    }
----}
----
----class Stack<T>
----    where T : J, I
----{
----    public void Test (T t)
----    {
----            t.Hello ();
----            t.Foo ();
----    }
----}
----
----class Test
----{
----}
----
----class X
----{
----    static void Main()
----    {
----    }
----}
diff --cc mcs/tests/gen-100.cs
index 1132720ceba72ea1152752e659eb6af8933187ff,1132720ceba72ea1152752e659eb6af8933187ff,1132720ceba72ea1152752e659eb6af8933187ff,1132720ceba72ea1152752e659eb6af8933187ff..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----using System;
----
----// Runtime test for mono_class_setup_vtable()
----namespace C5
----{
----    public interface ICollection<T>
----    {
----            void Test<U> ();
----    }
----
----    public abstract class ArrayBase<T> : ICollection<T>
----    {
----            void ICollection<T>.Test<U> ()
----            { }
----    }
----
----    public class ArrayList<V> : ArrayBase<V>
----    {
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            C5.ArrayList<int> array = new C5.ArrayList<int> ();
----    }
----}
diff --cc mcs/tests/gen-101.cs
index a9fc10676e58abc48f086cf07bd586b489cc0e7e,a9fc10676e58abc48f086cf07bd586b489cc0e7e,a9fc10676e58abc48f086cf07bd586b489cc0e7e,a9fc10676e58abc48f086cf07bd586b489cc0e7e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----using System;
----
----public class Test
----{
----    static void Main ()
----    {
----            SimpleStruct <string> s = new SimpleStruct <string> ();
----    }
----}
----
----public struct SimpleStruct <T>
----{
----    T data;
----
----    public SimpleStruct (T data)
----    {
----            this.data = data;
----    }
----}
diff --cc mcs/tests/gen-102.cs
index 9b75103186161cd9d0526212460afb1f261c060c,9b75103186161cd9d0526212460afb1f261c060c,9b75103186161cd9d0526212460afb1f261c060c,9b75103186161cd9d0526212460afb1f261c060c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----using System;
----
----class A<T>
----    where T: IComparable
----{
----}
----
----class B<U,V>
----    where U: IComparable
----    where V: A<U>
----{
----}
----
----class Driver
----{
----    public static void Main ()
----    {
----            A<int> a_int;
----            B<int,A<int>> b_stuff;
----    }
----}
diff --cc mcs/tests/gen-103.cs
index 71993f0c825adee4f3cefaec7329133b04e65012,71993f0c825adee4f3cefaec7329133b04e65012,71993f0c825adee4f3cefaec7329133b04e65012,71993f0c825adee4f3cefaec7329133b04e65012..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,27 -1,27 -1,27 -1,27 +1,0 @@@@@
----public interface IFoo<T>
----{ }
----
----public class Foo : IFoo<string>
----{ }
----
----public class Hello
----{
----    public void World<U> (U u, IFoo<U> foo)
----    { }
----
----    public void World<V> (IFoo<V> foo)
----    { }
----
----    public void Test (Foo foo)
----    {
----            World ("Canada", foo);
----            World (foo);
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-104.cs
index e027bead6dfd0fff714d69a2686bfe78c01fe7f7,e027bead6dfd0fff714d69a2686bfe78c01fe7f7,e027bead6dfd0fff714d69a2686bfe78c01fe7f7,e027bead6dfd0fff714d69a2686bfe78c01fe7f7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----class MainClass
----{
----        class Gen<T>
----        {
----            public void Test ()
----            { }
----        }
----
----        class Der : Gen<int>
----        {
----        }
----
----        static void Main ()
----        {
----            object o = new Der ();
----                Gen<int> b = (Gen<int>) o;
----            b.Test ();
----        }
----}
----
diff --cc mcs/tests/gen-105.cs
index fd674725bb8156915e8f12f9518d8fda4577e484,fd674725bb8156915e8f12f9518d8fda4577e484,fd674725bb8156915e8f12f9518d8fda4577e484,fd674725bb8156915e8f12f9518d8fda4577e484..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,104 -1,104 -1,104 -1,104 +1,0 @@@@@
----namespace A
----{
----    public struct KeyValuePair<X,Y>
----    {
----            public KeyValuePair (X x, Y y)
----            { }
----    }
----
----    public interface IComparer<T>
----    {
----            int Compare (T x);
----    }
----
----    public class KeyValuePairComparer<K,V> : IComparer<KeyValuePair<K,V>>
----    {
----            public int Compare (KeyValuePair<K,V> a)
----            {
----                    return 0;
----            }
----    }
----
----    public class TreeBag<T>
----    {
----            IComparer<T> comparer;
----
----            public TreeBag (IComparer<T> comparer)
----            {
----                    this.comparer = comparer;
----            }
----
----            public int Find (ref T item)
----            {
----                    return comparer.Compare (item);
----            }
----    }
----
----    public class X
----    {
----            public static void Test ()
----            {
----                    KeyValuePair<int,int> pair = new KeyValuePair<int,int> (3, 89);
----                    KeyValuePairComparer<int,int> comparer = new KeyValuePairComparer<int,int> ();
----                    TreeBag<KeyValuePair<int,int>> bag = new TreeBag<KeyValuePair<int,int>> (comparer);
----                    bag.Find (ref pair);
----            }
----    }
----}
----
----namespace B
----{
----    public class KeyValuePair<X,Y>
----    {
----            public KeyValuePair (X x, Y y)
----            { }
----    }
----
----    public interface IComparer<T>
----    {
----            int Compare (T x);
----    }
----
----    public class KeyValuePairComparer<K,V> : IComparer<KeyValuePair<K,V>>
----    {
----            public int Compare (KeyValuePair<K,V> a)
----            {
----                    return 0;
----            }
----    }
----
----    public class TreeBag<T>
----    {
----            IComparer<T> comparer;
----
----            public TreeBag (IComparer<T> comparer)
----            {
----                    this.comparer = comparer;
----            }
----
----            public int Find (ref T item)
----            {
----                    return comparer.Compare (item);
----            }
----    }
----
----    public class X
----    {
----            public static void Test ()
----            {
----                    KeyValuePair<int,int> pair = new KeyValuePair<int,int> (3, 89);
----                    KeyValuePairComparer<int,int> comparer = new KeyValuePairComparer<int,int> ();
----                    TreeBag<KeyValuePair<int,int>> bag = new TreeBag<KeyValuePair<int,int>> (comparer);
----                    bag.Find (ref pair);
----            }
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            A.X.Test ();
----            B.X.Test ();
----    }
----}
diff --cc mcs/tests/gen-106.cs
index 22fc8e46e56c12c33938b6da71ce61db13fab2aa,22fc8e46e56c12c33938b6da71ce61db13fab2aa,22fc8e46e56c12c33938b6da71ce61db13fab2aa,22fc8e46e56c12c33938b6da71ce61db13fab2aa..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,46 -1,46 -1,46 -1,46 +1,0 @@@@@
----public struct KeyValuePair<X,Y>
----{
----    public KeyValuePair (X x, Y y)
----    { }
----}
----
----public interface IComparer<T>
----{
----    int Compare (T x);
----}
----
----public class KeyValuePairComparer<K,V> : IComparer<KeyValuePair<K,V>>
----{
----    public int Compare (KeyValuePair<K,V> a)
----    {
----            return 0;
----    }
----}
----
----public class TreeBag<T>
----{
----    IComparer<T> comparer;
----    T item;
----
----    public TreeBag (IComparer<T> comparer, T item)
----    {
----            this.comparer = comparer;
----            this.item = item;
----    }
----
----    public int Find ()
----    {
----            return comparer.Compare (item);
----    }
----}
----
----public class X
----{
----    public static void Main ()
----    {
----            KeyValuePair<int,int> pair = new KeyValuePair<int,int> (3, 89);
----            KeyValuePairComparer<int,int> comparer = new KeyValuePairComparer<int,int> ();
----            TreeBag<KeyValuePair<int,int>> bag = new TreeBag<KeyValuePair<int,int>> (comparer, pair);
----            bag.Find ();
----    }
----}
diff --cc mcs/tests/gen-107.cs
index daa454c8f68b2e7fb6a9aac1ab4def68bfaf9af2,daa454c8f68b2e7fb6a9aac1ab4def68bfaf9af2,daa454c8f68b2e7fb6a9aac1ab4def68bfaf9af2,daa454c8f68b2e7fb6a9aac1ab4def68bfaf9af2..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,43 -1,43 -1,43 -1,43 +1,0 @@@@@
----using System;
----
----public delegate V Mapper<T,V> (T item);
----
----public interface ITree<T>
----{
----    void Map<V> (Mapper<T,V> mapper);
----}
----
----public class Tree<T> : ITree<T>
----{
----    T item;
----
----    public Tree (T item)
----    {
----            this.item = item;
----    }
----
----    public void Map<V> (Mapper<T,V> mapper)
----    {
----            V new_item = mapper (item);
----    }
----}
----
----class X
----{
----    private string themap (int i)
----    {
----            return String.Format ("AA {0,4} BB", i);
----    }
----
----    void Test ()
----    {
----            Tree<int> tree = new Tree<int> (3);
----            tree.Map (new Mapper<int,string> (themap));
----    }
----
----    static void Main ()
----    {
----            X x = new X ();
----            x.Test ();
----    }
----}
diff --cc mcs/tests/gen-108.cs
index a7546e589a6ad57b397a21b7530dc611bd14ba53,a7546e589a6ad57b397a21b7530dc611bd14ba53,a7546e589a6ad57b397a21b7530dc611bd14ba53,a7546e589a6ad57b397a21b7530dc611bd14ba53..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,27 -1,27 -1,27 -1,27 +1,0 @@@@@
----using System;
----using System.Collections.Generic;
----
----public class Test<T>
----{
----    protected T item;
----
----    public Test (T item)
----    {
----            this.item = item;
----    }
----
----    public IEnumerator<T> GetEnumerator()
----    {
----            yield return item;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Test<int> test = new Test<int> (3);
----            foreach (int a in test)
----                    ;
----    }
----}
diff --cc mcs/tests/gen-109.cs
index 7666b4fef7da8acc335a2ed627e3be5b7efb9ec8,7666b4fef7da8acc335a2ed627e3be5b7efb9ec8,7666b4fef7da8acc335a2ed627e3be5b7efb9ec8,7666b4fef7da8acc335a2ed627e3be5b7efb9ec8..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,9 -1,9 -1,9 -1,9 +1,0 @@@@@
----using System;
----
----class X {
----    static void Main ()
----    {
----            int [] foo = null;
----            Array.Resize (ref foo, 10);
----    }
----}
diff --cc mcs/tests/gen-11.cs
index 1dbda38aef00a85abe96ea714827acce09ac61d0,1dbda38aef00a85abe96ea714827acce09ac61d0,1dbda38aef00a85abe96ea714827acce09ac61d0,1dbda38aef00a85abe96ea714827acce09ac61d0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----class Stack<S>
----{
----    public void Hello (S s)
----    { }
----}
----
----class X
----{
----    Stack<int> stack;
----
----    void Test ()
----    {
----            stack.Hello (3);
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-110.cs
index 012bc2eb2fd7a1405c92f05bff52796d153106c0,012bc2eb2fd7a1405c92f05bff52796d153106c0,012bc2eb2fd7a1405c92f05bff52796d153106c0,012bc2eb2fd7a1405c92f05bff52796d153106c0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,40 -1,40 -1,40 -1,40 +1,0 @@@@@
----using System;
----
----public interface IList<R>
----{
----    int Map<S> (S item);
----}
----
----public class List<T> : IList<T>
----{
----    public int Map<U> (U item)
----    {
----            return 1;
----    }
----}
----
----public class SpecialList<V> : IList<V>
----{
----    public int Map<W> (W item)
----    {
----            return 2;
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            IList<int> list = new List<int> ();
----            int result = list.Map ("Hello");
----            if (result != 1)
----                    return 1;
----
----            IList<int> list2 = new SpecialList<int> ();
----            int result2 = list2.Map ("World");
----            if (result2 != 2)
----                    return 2;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/gen-111.cs
index 847799ee504277f872f37f61827fcbc5ad3adb2f,847799ee504277f872f37f61827fcbc5ad3adb2f,847799ee504277f872f37f61827fcbc5ad3adb2f,847799ee504277f872f37f61827fcbc5ad3adb2f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,45 -1,45 -1,45 -1,45 +1,0 @@@@@
----using System;
----
----public struct KeyValuePair<K,V>
----{
----    public K key;
----    public V value;
----
----    public KeyValuePair(K k, V v) { key = k; value = v; }
----
----    public KeyValuePair(K k) { key = k; value = default(V); }
----}
----
----public class Collection<T>
----{
----    public readonly T Item;
----
----    public Collection (T item)
----    {
----            this.Item = item;
----    }
----
----    public void Find (ref T item)
----    {
----            item = Item;
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            KeyValuePair<int,long> p = new KeyValuePair<int,long> (3);
----            KeyValuePair<int,long> q = new KeyValuePair<int,long> (5, 9);
----
----            Collection<KeyValuePair<int,long>> c = new Collection<KeyValuePair<int,long>> (q);
----            c.Find (ref p);
----
----            if (p.key != 5)
----                    return 1;
----            if (p.value != 9)
----                    return 2;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/gen-112.cs
index 47ebf9ebeef4451d4b0baa4bc32260b76e7f1452,47ebf9ebeef4451d4b0baa4bc32260b76e7f1452,47ebf9ebeef4451d4b0baa4bc32260b76e7f1452,47ebf9ebeef4451d4b0baa4bc32260b76e7f1452..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,66 -1,66 -1,66 -1,66 +1,0 @@@@@
----using System;
----
----public interface IComparer<T>
----{
----    void Compare (T a);
----}
----
----class IC : IComparer<Foo<int>>
----{
----    public void Compare (Foo<int> a)
----    { }
----}
----
----public struct Foo<K>
----{
----    public K Value;
----
----    public Foo (K value)
----    {
----            Value = value;
----    }
----}
----
----public class List<T>
----{
----    public virtual void Sort (IComparer<T> c, T t)
----    {
----            Sorting.IntroSort<T> (c, t);
----    }
----}
----
----public class Sorting
----{
----    public static void IntroSort<T> (IComparer<T> c, T t)
----    {
----            new Sorter<T> (c, 4, t).InsertionSort (0);
----    }
----
----    class Sorter<T>
----    {
----            IComparer<T> c;
----            T[] a;
----
----            public Sorter (IComparer<T> c, int size, T item)
----            {
----                    this.c = c;
----                    a = new T [size];
----            }
----
----            internal void InsertionSort (int i)
----            {
----                    T other;
----                    c.Compare (other = a[i]);
----            }
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            List<Foo<int>> list = new List<Foo<int>> ();
----            Foo<int> foo = new Foo<int> (3);
----            list.Sort (new IC (), foo);
----    }
----}
diff --cc mcs/tests/gen-113.cs
index 93215c288dd5fc55ae3562a5241f028b00a2f3a2,93215c288dd5fc55ae3562a5241f028b00a2f3a2,93215c288dd5fc55ae3562a5241f028b00a2f3a2,93215c288dd5fc55ae3562a5241f028b00a2f3a2..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----using System;
----
----public delegate V Mapper<T,V> (T item);
----
----public class List<T>
----{
----    public void Map<V> (Mapper<T,V> mapper)
----    { }
----}
----
----class X
----{
----    static void Main ()
----    {
----            List<int> list = new List<int> ();
----            list.Map (new Mapper<int,double> (delegate (int i) { return i/10.0; }));
----    }
----}
----
diff --cc mcs/tests/gen-114.cs
index 49b0026cc25664e2fb92a7b44be8e4dd640037df,49b0026cc25664e2fb92a7b44be8e4dd640037df,49b0026cc25664e2fb92a7b44be8e4dd640037df,49b0026cc25664e2fb92a7b44be8e4dd640037df..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----using System;
----using System.Collections.Generic;
----
----public class NaturalComparer<T> : IComparer<T>
----    where T: IComparable<T>
----{
----    public int Compare (T a, T b)
----    {
----            return a.CompareTo (b);
----    }
----}
----
----public class X
----{
----    class Test : IComparable<Test>
----    {
----            public int CompareTo (Test that)
----            {
----                    return 0;
----            }
----
----            public bool Equals (Test that)
----            {
----                    return false;
----            }
----    }
----
----    static void Main ()
----    {
----            IComparer<Test> cmp = new NaturalComparer<Test> ();
----            Test a = new Test ();
----            Test b = new Test ();
----            cmp.Compare (a, b);
----    }
----}
diff --cc mcs/tests/gen-115.cs
index dbcfa4327388f5794436e58796720a55b83234e4,dbcfa4327388f5794436e58796720a55b83234e4,dbcfa4327388f5794436e58796720a55b83234e4,dbcfa4327388f5794436e58796720a55b83234e4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,299 -1,299 -1,299 -1,299 +1,0 @@@@@
----//-- ex-gen-class-linkedlist
----//-- ex-anonymous-method-linkedlist
----//-- ex-gen-printable
----//-- ex-gen-interface-ilist
----//-- ex-gen-linkedlist-map
----//-- ex-gen-linkedlistenumerator
----//-- ex-gen-delegate-fun
----
----// A generic LinkedList class
----
----using System;
----using System.IO;                        // TextWriter
----using System.Collections;
----using System.Collections.Generic;       // IEnumerable<T>, IEnumerator<T>
----
----public delegate R Mapper<A,R>(A x);
----
----public interface IMyList<T> : IEnumerable<T> {
----  int Count { get; }                    // Number of elements
----  T this[int i] { get; set; }           // Get or set element at index i
----  void Add(T item);                     // Add element at end
----  void Insert(int i, T item);           // Insert element at index i
----  void RemoveAt(int i);                 // Remove element at index i
----  IMyList<U> Map<U>(Mapper<T,U> f);     // Map f over all elements
----}
----
----public class LinkedList<T> : IMyList<T> {
----  protected int size;               // Number of elements in the list
----  protected Node first, last;       // Invariant: first==null iff last==null
----
----  protected class Node {
----    public Node prev, next;
----    public T item;
----
----    public Node(T item) {
----      this.item = item; 
----    }
----
----    public Node(T item, Node prev, Node next) {
----      this.item = item; this.prev = prev; this.next = next; 
----    }
----  }
----
----  public LinkedList() {
----    first = last = null;
----    size = 0;
----  }
----
----  public LinkedList(params T[] arr) : this() {
----    foreach (T x in arr) 
----      Add(x);
----  }
----
----  public int Count {
----    get { return size; }
----  }
----
----  public T this[int i] {
----    get { return get(i).item; }
----    set { get(i).item = value; }
----  }      
----
----  private Node get(int n) {
----    if (n < 0 || n >= size)
----      throw new IndexOutOfRangeException();
----    else if (n < size/2) {              // Closer to front
----      Node node = first;
----      for (int i=0; i<n; i++)
----        node = node.next;
----      return node;
----    } else {                            // Closer to end
----      Node node = last;
----      for (int i=size-1; i>n; i--)
----        node = node.prev;
----      return node;
----    }
----  }
----
----  public void Add(T item) { 
----    Insert(size, item); 
----  }
----
----  public void Insert(int i, T item) { 
----    if (i == 0) {
----      if (first == null) // and thus last == null
----        first = last = new Node(item);
----      else {
----        Node tmp = new Node(item, null, first);
----        first.prev = tmp;
----        first = tmp;
----      }
----      size++;
----    } else if (i == size) {
----      if (last == null) // and thus first = null
----        first = last = new Node(item);
----      else {
----        Node tmp = new Node(item, last, null);
----        last.next = tmp;
----        last = tmp;
----      }
----      size++; 
----    } else {
----      Node node = get(i);
----      // assert node.prev != null;
----      Node newnode = new Node(item, node.prev, node);
----      node.prev.next = newnode;
----      node.prev = newnode;
----      size++;
----    }
----  }
----
----  public void RemoveAt(int i) {
----    Node node = get(i);
----    if (node.prev == null) 
----      first = node.next;
----    else
----      node.prev.next = node.next;
----    if (node.next == null) 
----      last = node.prev;
----    else
----      node.next.prev = node.prev;       
----    size--;
----  }
----
----  public override bool Equals(Object that) {
----    if (that != null && GetType() == that.GetType() 
----    && this.size == ((IMyList<T>)that).Count) {
----      Node thisnode = this.first;
----      IEnumerator<T> thatenm = ((IMyList<T>)that).GetEnumerator();
----      while (thisnode != null) {
----        if (!thatenm.MoveNext())
----          throw new ApplicationException("Impossible: LinkedList<T>.Equals");
----        // assert MoveNext() was true (because of the above size test)
----        if (!thisnode.item.Equals(thatenm.Current))
----          return false;
----        thisnode = thisnode.next; 
----      }
----      // assert !MoveNext(); // because of the size test
----      return true;
----    } else
----      return false;
----  }
----
----  public override int GetHashCode() {
----    int hash = 0;
----    foreach (T x in this)
----      hash ^= x.GetHashCode();
----    return hash;
----  }
----
----  public static explicit operator LinkedList<T>(T[] arr) {
----    return new LinkedList<T>(arr);
----  }
----
----  public static LinkedList<T> operator +(LinkedList<T> xs1, LinkedList<T> xs2) {
----    LinkedList<T> res = new LinkedList<T>();
----    foreach (T x in xs1) 
----      res.Add(x);
----    foreach (T x in xs2) 
----      res.Add(x);
----    return res;
----  }
----
----  public IMyList<U> Map<U>(Mapper<T,U> f) {
----    LinkedList<U> res = new LinkedList<U>();
----    foreach (T x in this) 
----      res.Add(f(x));
----    return res;
----  }
----
----  public IEnumerator<T> GetEnumerator() {
----    return new LinkedListEnumerator(this);
----  }
----
----  IEnumerator IEnumerable.GetEnumerator() {
----    return new LinkedListEnumerator(this);
----  }
----
----  private class LinkedListEnumerator : IEnumerator<T> {
----    T curr;                     // The enumerator's current element
----    bool valid;                 // Is the current element valid?
----    Node next;                  // Node holding the next element, or null
----
----    public LinkedListEnumerator(LinkedList<T> lst) {
----      next = lst.first; valid = false;
----    }
----    
----    public T Current {
----      get { 
----        if (valid) 
----          return curr; 
----        else
----          throw new InvalidOperationException();
----      }
----    }
----
----    object IEnumerator.Current {
----      get { return Current; }
----    }
----    
----    public bool MoveNext() {
----      if (next != null)  {
----        curr = next.item; next = next.next; valid = true;
----      } else 
----        valid = false; 
----      return valid;
----    }
----
----    public void Reset() {
----      throw new NotImplementedException ();
----    }
----
----    public void Dispose() {
----      curr = default(T); next = null; valid = false;
----    }
----  }
----}
----
----class SortedList<T> : LinkedList<T> where T : IComparable<T> {
----  // Sorted insertion
----  public void Insert(T x) { 
----    Node node = first;
----    while (node != null && x.CompareTo(node.item) > 0) 
----      node = node.next;
----    if (node == null)           // x > all elements; insert at end
----      Add(x);
----    else {                      // x <= node.item; insert before node
----      Node newnode = new Node(x);
----      if (node.prev == null)    // insert as first element
----        first = newnode;
----      else 
----        node.prev.next = newnode;
----      newnode.next = node;
----      newnode.prev = node.prev;
----      node.prev = newnode;
----    }
----  }
----}
----
----interface IPrintable {
----  void Print(TextWriter fs);
----}
----class PrintableLinkedList<T> : LinkedList<T>, IPrintable where T : IPrintable {
----  public void Print(TextWriter fs) {
----    bool firstElement = true;
----    foreach (T x in this) {
----      x.Print(fs);
----      if (firstElement) 
----        firstElement = false;
----      else
----        fs.Write(", ");
----    }
----  }
----}
----
----class MyString : IComparable<MyString> {
----  private readonly String s;
----  public MyString(String s) {
----    this.s = s;
----  }
----  public int CompareTo(MyString that) {
----    return String.Compare(that.Value, s);       // Reverse ordering
----  }
----  public bool Equals(MyString that) {
----    return that.Value == s;
----  }
----  public String Value {
----    get { return s; }
----  }
----}
----
----class MyTest {
----  public static void Main(String[] args) {
----    LinkedList<double> dLst = new LinkedList<double>(7.0, 9.0, 13.0, 0.0);
----    foreach (double d in dLst)
----      Console.Write("{0} ", d);
----    Console.WriteLine();
----    IMyList<int> iLst = 
----      dLst.Map<int>(new Mapper<double, int>(Math.Sign));
----    foreach (int i in iLst)
----      Console.Write("{0} ", i);
----    Console.WriteLine();
----    IMyList<String> sLst = 
----      dLst.Map<String>(delegate(double d) { return "s" + d; });
----    foreach (String s in sLst)
----      Console.Write("{0} ", s);
----    Console.WriteLine();
----    // Testing SortedList<MyString>
----    SortedList<MyString> sortedLst = new SortedList<MyString>();
----    sortedLst.Insert(new MyString("New York"));
----    sortedLst.Insert(new MyString("Rome"));
----    sortedLst.Insert(new MyString("Dublin"));
----    sortedLst.Insert(new MyString("Riyadh"));
----    sortedLst.Insert(new MyString("Tokyo"));
----    foreach (MyString s in sortedLst)
----      Console.Write("{0}   ", s.Value);
----    Console.WriteLine();
----  }
----}
diff --cc mcs/tests/gen-116.cs
index 4fe091b2b6fa7291e571ad3713c73a91a99bd459,4fe091b2b6fa7291e571ad3713c73a91a99bd459,4fe091b2b6fa7291e571ad3713c73a91a99bd459,4fe091b2b6fa7291e571ad3713c73a91a99bd459..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,51 -1,51 -1,51 -1,51 +1,0 @@@@@
----using System;
----
----namespace Slow
----{
----    public interface ITest
----    {
----            void DoNothing<T>()
----                    where T : class;
----    }
----
----    public class Test : ITest
----    {
----            public void DoNothing<T>()
----                    where T : class
----            {
----                    T x = null;
----            }
----    }
----
----    class Program
----    {
----            static void Main(string[] args)
----            {
----                    const int iterations = 10000;
----
----                    Test test = new Test ();
----            
----                    DateTime start = DateTime.Now;
----                    Console.Write ("Calling Test.DoNothing<Program>() on an object reference...  ");
----                    for (int i = 0; i < iterations; ++i)
----                    {
----                            test.DoNothing<Program> ();
----                    }
----                    DateTime end = DateTime.Now;
----                    TimeSpan duration = end - start;
----                    Console.WriteLine ("Took " + duration.TotalMilliseconds + " ms.");
----        
----                    ITest testInterface = test;
----
----                    start = DateTime.Now;
----                    Console.Write ("Calling Test.DoNothing<Program>() on an interface reference...  ");
----                    for (int i = 0; i < iterations; ++i)
----                    {
----                            testInterface.DoNothing<Program> ();
----                    }
----                    end = DateTime.Now;
----                    duration = end - start;
----                    Console.WriteLine ("Took " + duration.TotalMilliseconds + " ms.");
----            }
----    }
----}
diff --cc mcs/tests/gen-117.cs
index 71dc3b8cd3d9bdb0afa8de23b3580e065af5de89,71dc3b8cd3d9bdb0afa8de23b3580e065af5de89,71dc3b8cd3d9bdb0afa8de23b3580e065af5de89,71dc3b8cd3d9bdb0afa8de23b3580e065af5de89..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----using System;
----
----public interface IFoo<T>
----{ }
----
----public class Foo<T>
----{
----    public static bool Test (T x)
----    {
----            return x is IFoo<T>;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Foo<int>.Test (3);
----    }
----}
diff --cc mcs/tests/gen-118.cs
index 321530c04f6c53da86f4cd5111d21adfb51216d6,321530c04f6c53da86f4cd5111d21adfb51216d6,321530c04f6c53da86f4cd5111d21adfb51216d6,321530c04f6c53da86f4cd5111d21adfb51216d6..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,116 -1,116 -1,116 -1,116 +1,0 @@@@@
----//-- ex-gen-class-polynomial
----
----using System;
----
----// A type implements AddMul<A,R> if one can add an A to it, giving an R:
----
----interface AddMul<A,R> {
----  R Add(A e);                   // Addition with A, giving R
----  R Mul(A e);                   // Multiplication with A, giving R
----}
----
----// Polynomials over E, Polynomial<E>:
----
----// The base type E of the polynomial must support addition,
----// multiplication and zero (via the nullary constructor).  That's what
----// the type parameter constraint on E says.
----
----// In return, one can add an E or a polynomial over E to a polynomial
----// over E.  Similarly, a polynomial over E can be multiplied by an E
----// or by a polynomial over E.  That's what the interface clauses say.
----
----class Polynomial<E> : AddMul<E,Polynomial<E>>,
----                      AddMul<Polynomial<E>,Polynomial<E>>
----  where E : AddMul<E,E>, new() {
----  // cs contains coefficients of x^0, x^1, ...; absent coefficients are zero.
----  // Invariant: cs != null && cs.Length >= 0; cs.Length==0 represents zero.
----  private readonly E[] cs;  
----
----  public Polynomial() { 
----    this.cs = new E[0];
----  }
----
----  public Polynomial(E[] cs) { 
----    this.cs = cs;
----  }
----
----  public Polynomial<E> Add(Polynomial<E> that) {
----    int newlen = Math.Max(this.cs.Length, that.cs.Length);
----    int minlen = Math.Min(this.cs.Length, that.cs.Length);
----    E[] newcs = new E[newlen];
----    if (this.cs.Length <= that.cs.Length) {
----      for (int i=0; i<minlen; i++)
----        newcs[i] = this.cs[i].Add(that.cs[i]);
----      for (int i=minlen; i<newlen; i++)
----        newcs[i] = that.cs[i];
----    } else {
----      for (int i=0; i<minlen; i++)
----        newcs[i] = this.cs[i].Add(that.cs[i]);
----      for (int i=minlen; i<newlen; i++)
----        newcs[i] = this.cs[i];
----    }
----    return new Polynomial<E>(newcs);
----  }
----
----  public Polynomial<E> Add(E that) {
----    return this.Add(new Polynomial<E>(new E[] { that }));
----  } 
----
----  public Polynomial<E> Mul(E that) {
----    E[] newcs = new E[cs.Length];
----    for (int i=0; i<cs.Length; i++)
----      newcs[i] = that.Mul(cs[i]);
----    return new Polynomial<E>(newcs);
----  }
----
----  public Polynomial<E> Mul(Polynomial<E> that) {
----    int newlen = Math.Max(1, this.cs.Length + that.cs.Length - 1);
----    E[] newcs = new E[newlen];
----    for (int i=0; i<newlen; i++) {
----      E sum = new E();                     // Permitted by constraint E : new()
----      int start = Math.Max(0, i-that.cs.Length+1);
----      int stop  = Math.Min(i, this.cs.Length-1);
----      for (int j=start; j<=stop; j++) {
----        // assert 0<=j && j<this.cs.Length && 0<=i-j && i-j<that.cs.Length;
----        sum = sum.Add(this.cs[j].Mul(that.cs[i-j]));
----      }
----      newcs[i] = sum;
----    }
----    return new Polynomial<E>(newcs);
----  }
----
----  public E Eval(E x) {
----    E res = new E();                       // Permitted by constraint E : new()
----    for (int j=cs.Length-1; j>=0; j--) 
----      res = res.Mul(x).Add(cs[j]);
----    return res;
----  }
----}  
----
----struct Int : AddMul<Int,Int> {
----  private readonly int i;
----  public Int(int i) {
----    this.i = i;
----  }
----  public Int Add(Int that) {
----    return new Int(this.i + that.i);
----  }
----  public Int Mul(Int that) {
----    return new Int(this.i * that.i);
----  }
----  public override String ToString() {
----    return i.ToString();
----  }
----}
----
----class TestPolynomial {
----  public static void Main(String[] args) {
----    // The integer polynomial 2 + 5x + x^2
----    Polynomial<Int> ip = 
----      new Polynomial<Int>(new Int[] { new Int(2), new Int(5), new Int(1) });
----    Console.WriteLine(ip.Eval(new Int(10)));            // 152
----    Console.WriteLine(ip.Add(ip).Eval(new Int(10)));    // 304 = 152 + 152
----    Console.WriteLine(ip.Mul(ip).Eval(new Int(10)));    // 23104 = 152 * 152
----  }
----}
----
diff --cc mcs/tests/gen-119.cs
index 38beb2b90b90d71fc6391477e289f279d827dfd9,38beb2b90b90d71fc6391477e289f279d827dfd9,38beb2b90b90d71fc6391477e289f279d827dfd9,38beb2b90b90d71fc6391477e289f279d827dfd9..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----// Compiler options: -unsafe
----using System;
----
----public class Tests {
----
----    public unsafe static void Main () {
----            Console.WriteLine (typeof (void).Name);
----            Console.WriteLine (typeof (void*).Name);
----            Console.WriteLine (typeof (void**).Name);
----    }
----}
diff --cc mcs/tests/gen-12.cs
index 4ef97c77356942ebfe17f722ebe14a3849dadff5,4ef97c77356942ebfe17f722ebe14a3849dadff5,4ef97c77356942ebfe17f722ebe14a3849dadff5,4ef97c77356942ebfe17f722ebe14a3849dadff5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// A generic type definition may have another generic type
----// definition as its parent.
----
----class Stack<S>
----{
----    public void Hello (S s)
----    { }             
----}
----
----class Test<T> : Stack<T>
----{
----    public void Foo (T t)
----    { }
----}
----
----class X
----{
----    Test<int> test;
----
----    void Test ()
----    {
----            test.Foo (4);
----            test.Hello (3);
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-120.cs
index 3dec350d0fc8ee092ef4bb6eb410f1c917c242c5,3dec350d0fc8ee092ef4bb6eb410f1c917c242c5,3dec350d0fc8ee092ef4bb6eb410f1c917c242c5,3dec350d0fc8ee092ef4bb6eb410f1c917c242c5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,33 -1,33 -1,33 -1,33 +1,0 @@@@@
----using System;
----
----public interface ISequenced<T>
----{
----    bool Equals (ISequenced<T> that);
----}
----
----public class SequencedHasher <S,W>
----    where S : ISequenced<W>
----{
----        public bool Equals (S i1, S i2)
----    {
----            return i1 == null ? i2 == null : i1.Equals (i2);
----    }
----}
----
----public class Sequenced<T> : ISequenced<T>
----{
----    public bool Equals (ISequenced<T> that)
----    {
----            return false;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Sequenced<int> s = new Sequenced<int> ();
----            SequencedHasher<Sequenced<int>,int> hasher = new SequencedHasher<Sequenced<int>,int> ();
----            hasher.Equals (s, s);
----    }
----}
diff --cc mcs/tests/gen-121.cs
index 4357196690e591a1d8370fe0a01642ed39171eb7,4357196690e591a1d8370fe0a01642ed39171eb7,4357196690e591a1d8370fe0a01642ed39171eb7,4357196690e591a1d8370fe0a01642ed39171eb7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----public class B<T>
----{
----    public int Add (T obj)
----    {
----            return -1;
----    }
----
----    public void AddRange (object o)
----    {
----            T obj = (T) o;
----            Add (obj);
----    }
----}
----
----public interface IA
----{
----}
----
----public class A : IA
----{
----}
----
----public class Test
----{
----    public static void Main ()
----    {
----            B<IA> aux = new B<IA> ();
----            aux.AddRange (new A ());
----    }               
----}
diff --cc mcs/tests/gen-122.cs
index 2ec8725936fad8e9ca901a937c59c15774edb7d9,2ec8725936fad8e9ca901a937c59c15774edb7d9,2ec8725936fad8e9ca901a937c59c15774edb7d9,2ec8725936fad8e9ca901a937c59c15774edb7d9..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----    class Test
----    {
----        static void Main(string[] args)
----        {
----            A<int> a = new A<int>(new A<int>.B(D), 3);
----            a.Run();
----        }
----        public static void D(int y)
----        {
----            System.Console.WriteLine("Hello " + 3);
----        }
----    }
----    class A<T>
----    {
----        public delegate void B(T t);
----
----        protected B _b;
----        protected T _value;
----
----        public A(B b, T value)
----        {
----          _b = b;
----          _value = value;
----      }
----        public void Run()
----        {
----            _b(_value);
----        }
----    }
----
diff --cc mcs/tests/gen-123.cs
index 571d5a119e68f55e1b24d250068a505cc6e41aaa,571d5a119e68f55e1b24d250068a505cc6e41aaa,571d5a119e68f55e1b24d250068a505cc6e41aaa,571d5a119e68f55e1b24d250068a505cc6e41aaa..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----class A<T>
----{
----    public delegate void Foo ();
----    public delegate void Bar<U> ();
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-124.cs
index b678b148ce22c8d703c98477a24478bef789a4d5,b678b148ce22c8d703c98477a24478bef789a4d5,b678b148ce22c8d703c98477a24478bef789a4d5,b678b148ce22c8d703c98477a24478bef789a4d5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----using System;
----
----interface IFoo <T>
----{
----        T this [int index] {
----                get; set;
----        }
----}
----
----public class FooCollection <T> : IFoo <T>
----{
----        T IFoo<T>.this [int index] {
----                get {
----                        return default(T);
----                }
----                set {
----                }
----        }
----}
----
----class X
----{
----    static void Main ()
----    {
----            IFoo<int> foo = new FooCollection<int> ();
----            int a = foo [3];
----            Console.WriteLine (a);
----    }
----}
diff --cc mcs/tests/gen-125.cs
index dbaf588107a107ff1dbea629f1aa7443dabab037,dbaf588107a107ff1dbea629f1aa7443dabab037,dbaf588107a107ff1dbea629f1aa7443dabab037,dbaf588107a107ff1dbea629f1aa7443dabab037..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----using System;
----
----public interface IA<T> where T : struct {
----
----}
----
----public class B<T> : IA<T> where T:struct {
----
----}
----
----public class MainClass {
----        public static void Main () {}
----
----}
----
diff --cc mcs/tests/gen-126.cs
index 9a38f032eabd1d025d6433967167b9221c9c9716,9a38f032eabd1d025d6433967167b9221c9c9716,9a38f032eabd1d025d6433967167b9221c9c9716,9a38f032eabd1d025d6433967167b9221c9c9716..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,43 -1,43 -1,43 -1,43 +1,0 @@@@@
----using System.Collections.Generic;
----
----// comment this line to see another bug in gmcs (unrelated)
----interface IB { bool foo (); }
----
----
----class B : IB { public bool foo () { return true; } }
----
----interface Filter <T> where T : IB {
----  T Is (IB x);
----
----}
----
----struct K : IB {
----  public bool foo () { return false; }
----
----}
----
----class MyFilter : Filter <K> {
----  public K Is (IB x) { return new K(); }
----}
----
----class MyBFilter : Filter <B> {
----  public B Is (IB x) { return new B(); }
----}
----
----class M {
---- 
----  static List<T> foo1 <T> (Filter <T> x) where T : IB {
----    List <T> result = new List <T>();
----    T maybe = x.Is (new B());
----    if (maybe != null)
----      result.Add (maybe);
----    return result;
----  }
---- 
----  static void Main () {
----       MyFilter m = new MyFilter ();
----        System.Console.WriteLine (foo1 <K> (m).Count);
----        MyBFilter mb = new MyBFilter ();
----        System.Console.WriteLine (foo1 <B> (mb).Count);
----  }
----}
diff --cc mcs/tests/gen-127.cs
index 2a73fe72117da43bedb4e5fc81a6b55199176518,2a73fe72117da43bedb4e5fc81a6b55199176518,2a73fe72117da43bedb4e5fc81a6b55199176518,2a73fe72117da43bedb4e5fc81a6b55199176518..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,26 -1,26 -1,26 -1,26 +1,0 @@@@@
----public class A<T>
----{
----    public delegate void Changed (A<T> a);
----
----    protected event Changed _changed;
----
----    public void Register (Changed changed)
----    {
----            _changed += changed;
----            _changed (this);
----    }
----}
----
----public class Test
----{
----    public static void Main ()
----    {
----            A<int> a = new A<int> ();
----            a.Register (new A<int>.Changed (Del));
----    }
----
----    public static void Del (A<int> a)
----    {
----            System.Console.WriteLine ("Solved");
----    }
----}
diff --cc mcs/tests/gen-128.cs
index 465ed95ceb01357407b3f4927d8a1355762d9c04,465ed95ceb01357407b3f4927d8a1355762d9c04,465ed95ceb01357407b3f4927d8a1355762d9c04,465ed95ceb01357407b3f4927d8a1355762d9c04..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,34 -1,34 -1,34 -1,34 +1,0 @@@@@
----using System;
----using System.Reflection;
----
----namespace FLMID.Bugs.ParametersOne
----{
----    public class Class<T>
----    {
----            public void Add(T x)
----            {
----                    System.Console.WriteLine("OK");
----            }
----    }
----    public class Test
----    {
----    
----            public static void Main(string [] args)
----            {
----                    Class<string> instance = new Class<string>();
----                    
----                    MethodInfo _method = null;
----                    
----                    foreach(MethodInfo method in
----typeof(Class<string>).GetMethods(BindingFlags.Instance | BindingFlags.Public))
----                    {
----                            if(method.Name.Equals("Add") && method.GetParameters().Length==1)
----                            {
----                                    _method = method;
----                                    break;
----                            }
----                    }
----                    _method.Invoke(instance , new object[]{"1"});
----            }
----    }
----}
diff --cc mcs/tests/gen-129.cs
index 216628ace28d18830959852ab749fa243e125bfe,216628ace28d18830959852ab749fa243e125bfe,216628ace28d18830959852ab749fa243e125bfe,216628ace28d18830959852ab749fa243e125bfe..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,32 -1,32 -1,32 -1,32 +1,0 @@@@@
----namespace B
----{
----    using C;
----
----    partial class Test <T>
----            where T : IA, IB
----    { }
----}
----
----namespace B
----{
----    partial class Test <T>
----            where T : C.IB, C.IA
----    { }
----}
----
----namespace B
----{
----    partial class Test <T>
----    { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
----
----namespace C {
----    interface IA { }
----    interface IB { }
----}
diff --cc mcs/tests/gen-13-dll.cs
index e535bbe394e256d92c948d988436c23415457955,e535bbe394e256d92c948d988436c23415457955,e535bbe394e256d92c948d988436c23415457955,e535bbe394e256d92c948d988436c23415457955..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,7 -1,7 -1,7 -1,7 +1,0 @@@@@
----// Compiler options: -t:library
----
----public class Stack<S>
----{
----    public void Hello (S s)
----    { }
----}
diff --cc mcs/tests/gen-13-exe.cs
index 180318ad53ed8e8821856790e0a300647c91a358,180318ad53ed8e8821856790e0a300647c91a358,180318ad53ed8e8821856790e0a300647c91a358,180318ad53ed8e8821856790e0a300647c91a358..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----// Compiler options: -r:gen-13-dll.dll
----
----public class X
----{
----    Stack<int> stack;
----
----    void Test ()
----    {
----            stack.Hello (3);
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-130.cs
index 93819d980e8a3e03233e45648a575c9ea91a3292,93819d980e8a3e03233e45648a575c9ea91a3292,93819d980e8a3e03233e45648a575c9ea91a3292,93819d980e8a3e03233e45648a575c9ea91a3292..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----//-- ex-nullable-bool
----
----using System;
----
----class MyTest {
----  public static void Main(String[] args) {
----    Console.WriteLine("Note that null prints as blank or []\n");
----    bool? b1 = null, b2 = false, b3 = true;
----    bool? b4 = b1^b2, b5 = b1&b2, b6 = b1|b2;                     // null false null
----    Console.WriteLine("[{0}] [{1}] [{2}]", b4, b5, b6);
----    bool? b7 = b1^b3, b8 = b1&b3, b9 = b1|b3;                     // null null true
----    Console.WriteLine("[{0}] [{1}] [{2}]", b7, b8, b9);
----    Console.WriteLine(b1 ? "null is true" : "null is false");     // null is false
----    Console.WriteLine(!b1 ? "!null is true" : "!null is false");  // !null is false
----
----    Console.WriteLine();
----    bool?[] bvals = new bool?[] { null, false, true };
----    Console.WriteLine("{0,-6} {1,-6} {2,-6} {3,-6} {4,-6}", 
----                      "x", "y", "x&y", "x|y", "x^y");
----    foreach (bool? x in bvals) 
----      foreach (bool? y in bvals) 
----        Console.WriteLine("{0,-6} {1,-6} {2,-6} {3,-6} {4,-6}", 
----                          x, y, x&y, x|y, x^y);
----    Console.WriteLine();
----    Console.WriteLine("{0,-6} {1,-6}", "x", "!x");
----    foreach (bool? x in bvals) 
----      Console.WriteLine("{0,-6} {1,-6}", x, !x);
----  }
----}
diff --cc mcs/tests/gen-131.cs
index 2927b41eda3be55ec2e173302907c2280e75c210,2927b41eda3be55ec2e173302907c2280e75c210,2927b41eda3be55ec2e173302907c2280e75c210,2927b41eda3be55ec2e173302907c2280e75c210..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,45 -1,45 -1,45 -1,45 +1,0 @@@@@
----//-- ex-nullable
----
----using System;
----
----class MyTest {
----  public static void Main(String[] args) {
----    Console.WriteLine("Note that null prints as blank or []\n");
----    int? i1 = 11, i2 = 22, i3 = null, i4 = i1+i2, i5 = i1+i3;
----    // Values: 11 22 null 33 null
----    Console.WriteLine("[{0}] [{1}] [{2}] [{3}] [{4}]", i1, i2, i3, i4, i5);
----    int i6 = (int)i1;                           // Legal
----    // int i7 = (int)i5;                        // Legal but fails at run-time
----    // int i8 = i1;                             // Illegal
----
----    int?[] iarr = { i1, i2, i3, i4, i5 };
----    i2 += i1;
----    i2 += i4;
----    Console.WriteLine("i2 = {0}", i2);          // 66 = 11+22+33
----
----    int sum = 0;
----    for (int i=0; i<iarr.Length; i++)
----      sum += iarr[i] != null ? iarr[i].Value : 0;
----      //      sum += iarr[i] ?? 0;
----    Console.WriteLine("sum = {0}", sum);        // 66 = 11+22+33
----
----    for (int i=0; i<iarr.Length; i++)
----      if (iarr[i] > 11)
----        Console.Write("[{0}] ", iarr[i]);       // 22 33
----    Console.WriteLine();
----
----    for (int i=0; i<iarr.Length; i++)
----      if (iarr[i] != i1)
----        Console.Write("[{0}] ", iarr[i]);       // 22 null 33 null
----    Console.WriteLine();
----    Console.WriteLine();
----    int?[] ivals = { null, 2, 5 };
----    Console.WriteLine("{0,6} {1,6} {2,6} {3,6} {4,-6} {5,-6} {6,-6} {7,-6}", 
----                      "x", "y", "x+y", "x-y", "x<y", "x>=y", "x==y", "x!=y");
----    Console.WriteLine();
----    foreach (int? x in ivals) 
----      foreach (int? y in ivals) 
----        Console.WriteLine("{0,6} {1,6} {2,6} {3,6} {4,-6} {5,-6} {6,-6} {7,-6}", 
----                          x, y, x+y, x-y, (x<y), (x>=y), x==y, x!=y);
----  }
----}
diff --cc mcs/tests/gen-132.cs
index c87da9d304a317d66173c6db442bc0a9c694ef64,c87da9d304a317d66173c6db442bc0a9c694ef64,c87da9d304a317d66173c6db442bc0a9c694ef64,c87da9d304a317d66173c6db442bc0a9c694ef64..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----//-- ex-nullable-sqrt
----
----using System;
----
----class MyTest {
----  public static int? Sqrt(int? x) {
----    if (x.HasValue && x.Value >= 0)
----      return (int)(Math.Sqrt(x.Value));
----    else
----      return null;
----  }
----
----  public static void Main(String[] args) {
----    // Prints :2:::
----    Console.WriteLine(":{0}:{1}:{2}:", Sqrt(5), Sqrt(null), Sqrt(-5));
----  }
----}
diff --cc mcs/tests/gen-133.cs
index 35162455e6a9b4f944b732da09eb910746d60752,35162455e6a9b4f944b732da09eb910746d60752,35162455e6a9b4f944b732da09eb910746d60752,35162455e6a9b4f944b732da09eb910746d60752..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,31 -1,31 -1,31 -1,31 +1,0 @@@@@
----// Not used -- ex-nullable-struct
----
----// Converting a struct from S to S? creates a copy of the struct.
----// Getting the struct out of the non-null value creates another copy.
----
----using System;
----
----struct S {
----  private int x;
----  public int X {
----    get { return x; }
----    set { this.x = value; } // Cannot be used on non-variable ns.Value
----  }
----  public void Set(int x) {
----    this.x = x;
----  }
----}
----
----class MyTest {
----  public static void Main(String[] args) {
----    S s = new S();
----    s.Set(11);
----    Console.WriteLine("s.X = {0}", s.X);
----    S? ns = s;
----    Console.WriteLine("s.X = {0} ns.Value.X = {1}", s.X, ns.Value.X);
----    ns.Value.Set(22);
----    Console.WriteLine("s.X = {0} ns.Value.X = {1}", s.X, ns.Value.X);
----    s.Set(33);
----    Console.WriteLine("s.X = {0} ns.Value.X = {1}", s.X, ns.Value.X);
----  }
----}
diff --cc mcs/tests/gen-134.cs
index ff49809f27159b7d82190d9a7bf1a625985e9285,ff49809f27159b7d82190d9a7bf1a625985e9285,ff49809f27159b7d82190d9a7bf1a625985e9285,ff49809f27159b7d82190d9a7bf1a625985e9285..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,41 -1,41 -1,41 -1,41 +1,0 @@@@@
----// sestoft@dina.kvl.dk * 2004-08
----
----using System;
----
----class MyTest {
----  public static void Main(String[] args) {
----    Foo<int?> fni1 = new Foo<int?>(null);
----    Console.WriteLine(fni1.Fmt());
----    Foo<int?> fni2 = new Foo<int?>(17);
----    Console.WriteLine(fni2.Fmt());
----    Foo<int> fi = new Foo<int>(7);
----    Console.WriteLine(fi.Fmt());
----    Foo<String> fs1 = new Foo<String>(null);
----    Console.WriteLine(fs1.Fmt());
----    Foo<String> fs2 = new Foo<String>("haha");
----    Console.WriteLine(fs2.Fmt());
----  }
----}
----
----class Foo<T> {
----  T x;
----  public Foo(T x) { 
----    this.x = x;
----  }
----  
----  // This shows how to deal with tests for null in a generic setting
----  // where null may mean both `null reference' and `null value of a
----  // nullable type'.  Namely, the test (x == null) will always be
----  // false if the generic type parameter t is instantiated with a
----  // nullable type.  Reason: the null literal will be considered a
----  // null reference and x will be boxed if a value type, and hence the
----  // comparison will be false...
----
----  public String Fmt() {
----    if (x is INullableValue && ((INullableValue)x).HasValue
----    || !(x is INullableValue) && x != null)
----      return x.ToString();
----    else
----      return "null";
----  }  
----}
diff --cc mcs/tests/gen-135.cs
index 46b304a961931924de7659a5395205d30688386b,46b304a961931924de7659a5395205d30688386b,46b304a961931924de7659a5395205d30688386b,46b304a961931924de7659a5395205d30688386b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----using System;
----
----class X
----{
----    static void Main ()
----    {
----            int? a = null;
----            int b = 3;
----            long? c = a;
----            Console.WriteLine (c);
----            long? d = b;
----            byte? f = (byte?) d;
----    }
----}
diff --cc mcs/tests/gen-136.cs
index 14d038fc301dc73bdd713e010bcbe23d585c4c15,14d038fc301dc73bdd713e010bcbe23d585c4c15,14d038fc301dc73bdd713e010bcbe23d585c4c15,14d038fc301dc73bdd713e010bcbe23d585c4c15..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,44 -1,44 -1,44 -1,44 +1,0 @@@@@
----using System;
----
----namespace Martin {
----    public class A
----    {
----            public readonly long Data;
----
----            public A (long data)
----            {
----                    this.Data = data;
----            }
----
----            public static explicit operator B (A a)
----            {
----                    return new B ((int) a.Data);
----            }
----    }
----
----    public class B
----    {
----            public readonly int Data;
----
----            public B (int data)
----            {
----                    this.Data = data;
----            }
----
----            public static implicit operator A (B b)
----            {
----                    return new A (b.Data);
----            }
----    }
----
----    class X
----    {
----            static void Main ()
----            {
----                    B? b = new B (5);
----                    A? a = b;
----                    B? c = (B?) a;
----                    B? d = (Martin.B?) a;
----            }
----    }
----}
diff --cc mcs/tests/gen-137.cs
index 880f3e8ee285919c4ce5a070aeba3611f9b31fb2,880f3e8ee285919c4ce5a070aeba3611f9b31fb2,880f3e8ee285919c4ce5a070aeba3611f9b31fb2,880f3e8ee285919c4ce5a070aeba3611f9b31fb2..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----using System;
----
----class X
----{
----    static void Main ()
----    {
----            int? a = 4;
----            int? b = -a;
----            Console.WriteLine (b);
----    }
----}
diff --cc mcs/tests/gen-138.cs
index 1065205b7ce7765c3f72295c1f2817258243cf00,1065205b7ce7765c3f72295c1f2817258243cf00,1065205b7ce7765c3f72295c1f2817258243cf00,1065205b7ce7765c3f72295c1f2817258243cf00..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,12 -1,12 -1,12 -1,12 +1,0 @@@@@
----using System;
----
----class X
----{
----    static void Main ()
----    {
----            int? a = 4;
----            long b = 5;
----            long? c = a * b;
----            Console.WriteLine (c);
----    }
----}
diff --cc mcs/tests/gen-139.cs
index 7b187e147bdfbfe392f908ae1c99f7faff562687,7b187e147bdfbfe392f908ae1c99f7faff562687,7b187e147bdfbfe392f908ae1c99f7faff562687,7b187e147bdfbfe392f908ae1c99f7faff562687..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----using System;
----
----class X
----{
----    static void Main ()
----    {
----            bool? a = true;
----            int? b = a ? 3 : 4;
----            Console.WriteLine (b);
----    }
----}
diff --cc mcs/tests/gen-14.cs
index 69b232d21fd2dbc042e0fc45492d9c740140ace5,69b232d21fd2dbc042e0fc45492d9c740140ace5,69b232d21fd2dbc042e0fc45492d9c740140ace5,69b232d21fd2dbc042e0fc45492d9c740140ace5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----public class Stack<S>
----{
----    public Stack (S s)
----    { }
----
----    public void Push (S s)
----    { }
----}
----
----public class X
----{
----    static void Main ()
----    {
----            Stack<int> s1 = new Stack<int> (3);
----            s1.Push (4);
----
----            Stack<string> s2 = new Stack<string> ("Hello");
----            s2.Push ("Test");
----    }
----}
diff --cc mcs/tests/gen-140.cs
index 1b8b5549ad6204ec32e6c5348269736e4c433f25,1b8b5549ad6204ec32e6c5348269736e4c433f25,1b8b5549ad6204ec32e6c5348269736e4c433f25,1b8b5549ad6204ec32e6c5348269736e4c433f25..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----using System;
----
----class X
----{
----    static void Main ()
----    {
----            int?[] bvals = new int?[] { null, 3, 4 };
----            foreach (long? x in bvals) 
----                    Console.WriteLine (x);
----    }
----}
diff --cc mcs/tests/gen-141.cs
index d94be3e0103971e62906ca118bd31d9365b170ea,d94be3e0103971e62906ca118bd31d9365b170ea,d94be3e0103971e62906ca118bd31d9365b170ea,d94be3e0103971e62906ca118bd31d9365b170ea..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----using System;
----
----class X
----{
----    static void Main ()
----    {
----            int?[] bvals = new int? [] { null, 3, 4 };
----            foreach (int? x in bvals) 
----                    Console.WriteLine (x);
----    }
----}
diff --cc mcs/tests/gen-142.cs
index d875ad667ccf2a9ea78df4285035f097def43bee,d875ad667ccf2a9ea78df4285035f097def43bee,d875ad667ccf2a9ea78df4285035f097def43bee,d875ad667ccf2a9ea78df4285035f097def43bee..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,131 -1,131 -1,131 -1,131 +1,0 @@@@@
----using System;
----
----public static class Assert
----{
----    public static int Errors {
----            get { return errors; }
----    }
----
----    static int errors = 0;
----
----    static void Error (string method, string text)
----    {
----            Console.WriteLine ("Assert failed: {0} ({1})", method, text);
----            errors++;
----    }
----
----    public static void IsTrue (string text, bool b)
----    {
----            if (!b)
----                    Error ("IsTrue", text);
----    }
----
----    public static void IsFalse (string text, bool b)
----    {
----            if (b)
----                    Error ("IsFalse", text);
----    }
----
----    public static void IsNull<T> (string text, Nullable<T> nullable)
----    {
----            if (nullable.HasValue)
----                    Error ("IsNull", text);
----    }
----
----    public static void IsNotNull<T> (string text, Nullable<T> nullable)
----    {
----            if (!nullable.HasValue)
----                    Error ("IsNotNull", text);
----    }
----
----    public static void IsTrue (string text, Nullable<bool> b)
----    {
----            if (!b.HasValue || !b.Value)
----                    Error ("IsTrue", text);
----    }
----
----    public static void IsFalse (string text, Nullable<bool> b)
----    {
----            if (!b.HasValue || b.Value)
----                    Error ("IsFalse", text);
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            bool? a = null, b = false, c = true;
----            bool? d = null, e = false, f = true;
----
----            Assert.IsNull ("a", a);
----            Assert.IsFalse ("b", b);
----            Assert.IsTrue ("c", c);
----            Assert.IsTrue ("a == d", a == d);
----            Assert.IsTrue ("b == e", b == e);
----            Assert.IsTrue ("c == f", c == f);
----
----            Assert.IsFalse ("a != d", a != d);
----            Assert.IsFalse ("a == b", a == b);
----            Assert.IsTrue ("a != b", a != b);
----
----            Assert.IsNull ("d & a", d & a);
----            Assert.IsFalse ("d & b", d & b);
----            Assert.IsNull ("d & c", d & c);
----            Assert.IsFalse ("e & a", e & a);
----            Assert.IsFalse ("e & b", e & b);
----            Assert.IsFalse ("e & c", e & c);
----            Assert.IsNull ("f & a", f & a);
----            Assert.IsFalse ("f & b", f & b);
----            Assert.IsTrue ("f & c", f & c);
----
----            Assert.IsNull ("d | a", d | a);
----            Assert.IsNull ("d | b", d | b);
----            Assert.IsTrue ("d | c", d | c);
----            Assert.IsNull ("e | a", e | a);
----            Assert.IsFalse ("e | b", e | b);
----            Assert.IsTrue ("e | c", e | c);
----            Assert.IsTrue ("f | a", f | a);
----            Assert.IsTrue ("f | b", f | b);
----            Assert.IsTrue ("f | c", f | c);
----
----            Assert.IsNull ("d && a", d && a);
----            Assert.IsFalse ("d && b", d && b);
----            Assert.IsNull ("d && c", d && c);
----            Assert.IsFalse ("e && a", e && a);
----            Assert.IsFalse ("e && b", e && b);
----            Assert.IsFalse ("e && c", e && c);
----            Assert.IsNull ("f && a", f && a);
----            Assert.IsFalse ("f && b", f && b);
----            Assert.IsTrue ("f && c", f && c);
----
----            Assert.IsNull ("d || a", d || a);
----            Assert.IsNull ("d || b", d || b);
----            Assert.IsTrue ("d || c", d || c);
----            Assert.IsNull ("e || a", e || a);
----            Assert.IsFalse ("e || b", e || b);
----            Assert.IsTrue ("e || c", e || c);
----            Assert.IsTrue ("f || a", f || a);
----            Assert.IsTrue ("f || b", f || b);
----            Assert.IsTrue ("f || c", f || c);
----
----            int? g = 3, h = null, i = 3, j = null;
----
----            Assert.IsFalse ("g == null", g == null);
----            Assert.IsTrue ("g != null", g != null);
----            Assert.IsTrue ("h == null", h == null);
----            Assert.IsFalse ("h != null", h != null);
----
----            Assert.IsTrue ("g == i", g == i);
----            Assert.IsFalse ("g != i", g != i);
----            Assert.IsFalse ("g == j", g == j);
----            Assert.IsTrue ("g != j", g != j);
----            Assert.IsFalse ("h == i", h == i);
----            Assert.IsTrue ("h != i", h != i);
----            Assert.IsTrue ("h == j", h == j);
----            Assert.IsFalse ("h != j", h != j);
----
----            Console.WriteLine ("{0} errors.", Assert.Errors);
----            return Assert.Errors;
----    }
----}
diff --cc mcs/tests/gen-143.cs
index 6a9f561c2e55327d6643f2592e4cc4ec3434aa50,6a9f561c2e55327d6643f2592e4cc4ec3434aa50,6a9f561c2e55327d6643f2592e4cc4ec3434aa50,6a9f561c2e55327d6643f2592e4cc4ec3434aa50..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,45 -1,45 -1,45 -1,45 +1,0 @@@@@
----using System;
----
----class X
----{
----    static int Test ()
----    {
----            int? a = 5;
----            int? b = a++;
----
----            if (a != 6)
----                    return 1;
----            if (b != 5)
----                    return 2;
----
----            int? c = ++a;
----
----            if (c != 7)
----                    return 3;
----
----            b++;
----            ++b;
----
----            if (b != 7)
----                    return 4;
----
----            int? d = b++ + ++a;
----
----            if (a != 8)
----                    return 5;
----            if (b != 8)
----                    return 6;
----            if (d != 15)
----                    return 7;
----
----            return 0;
----    }
----
----    static int Main ()
----    {
----            int result = Test ();
----            if (result != 0)
----                    Console.WriteLine ("ERROR: {0}", result);
----            return result;
----    }
----}
diff --cc mcs/tests/gen-144.cs
index 8b2a166638304a0775a8b14bc103e5fdba31f5b9,8b2a166638304a0775a8b14bc103e5fdba31f5b9,8b2a166638304a0775a8b14bc103e5fdba31f5b9,8b2a166638304a0775a8b14bc103e5fdba31f5b9..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----using System;
----
----namespace Test
----{
----    public class Application
----    {
----            public static void Main()
----            {
----                    string[] array = new string[10];
----
----                    System.Collections.Generic.IEnumerable<string> enumer = array;
----            }
----    }
----}
diff --cc mcs/tests/gen-145.cs
index 66a65dc17a378a86376de8e7a355cbb3c7f21ad8,66a65dc17a378a86376de8e7a355cbb3c7f21ad8,66a65dc17a378a86376de8e7a355cbb3c7f21ad8,66a65dc17a378a86376de8e7a355cbb3c7f21ad8..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----using System;
----public class Test<T>{
----        private T[,] data;
----        public Test(T[,] data){
----                this.data = data;
----        }
----}
----public class Program{
----        public static void Main(string[] args){
----                Test<double> test = new Test<double>(new double[2,2]);
----        }
----}     
----
diff --cc mcs/tests/gen-146.cs
index 667d19d4e39c3a45fc5c6860a0da0b5b6ba55f7e,667d19d4e39c3a45fc5c6860a0da0b5b6ba55f7e,667d19d4e39c3a45fc5c6860a0da0b5b6ba55f7e,667d19d4e39c3a45fc5c6860a0da0b5b6ba55f7e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,27 -1,27 -1,27 -1,27 +1,0 @@@@@
----using System;
----
----public class MyLinkedList<T> {
----    protected Node first;
----
----    protected class Node
----    {
----            public T item;
----
----            public Node (T item)
----            {
----                    this.item = item; 
----            }
----    }
----}
----
----class SortedList<U> : MyLinkedList<U>
----{
----    public void Insert (U x) { 
----            Node node = first;
----    }
----}
----
----class X {
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-147.cs
index e16a86a033bccf8d62d7330c6e21355c4334eebe,e16a86a033bccf8d62d7330c6e21355c4334eebe,e16a86a033bccf8d62d7330c6e21355c4334eebe,e16a86a033bccf8d62d7330c6e21355c4334eebe..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,38 -1,38 -1,38 -1,38 +1,0 @@@@@
----namespace A
----{
----    interface IFoo
----    {
----        void Hello (IFoo foo);
----    }
----}
----
----namespace B
----{
----  partial class Test <T> : IDoo, A.IFoo where T : A.IFoo
----    { }
----}
----
----namespace B
----{
----    using A;
----
----    partial class Test <T> : Y, IFoo where T : IFoo
----    {
----        void IFoo.Hello (IFoo foo)
----        { }
----    }
----}
----
----interface IDoo { }
----
----class Y { }
----
----class X
----{
----    static void Main ()
----    { }
----}
----
----
----
----
diff --cc mcs/tests/gen-148.cs
index be06afa96a2473a840f166dbed4575b9f755c3ac,be06afa96a2473a840f166dbed4575b9f755c3ac,be06afa96a2473a840f166dbed4575b9f755c3ac,be06afa96a2473a840f166dbed4575b9f755c3ac..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----using System;
----
----static class Test1 {
----  public class IOp<T> { }
----  static void Foo<S,OP>(uint v) where OP : IOp<S> { }
----};
----
----static class Test2 {
----  public class IOp<T> { }
----  static void Foo<T,OP>(uint v) where OP : IOp<T> { }
----};
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-149.cs
index be06afa96a2473a840f166dbed4575b9f755c3ac,be06afa96a2473a840f166dbed4575b9f755c3ac,be06afa96a2473a840f166dbed4575b9f755c3ac,be06afa96a2473a840f166dbed4575b9f755c3ac..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----using System;
----
----static class Test1 {
----  public class IOp<T> { }
----  static void Foo<S,OP>(uint v) where OP : IOp<S> { }
----};
----
----static class Test2 {
----  public class IOp<T> { }
----  static void Foo<T,OP>(uint v) where OP : IOp<T> { }
----};
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-15.cs
index 8f4e089e27dfb4438431d05282bbb0af4661b623,8f4e089e27dfb4438431d05282bbb0af4661b623,8f4e089e27dfb4438431d05282bbb0af4661b623,8f4e089e27dfb4438431d05282bbb0af4661b623..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----// Very simple example of a generic method.
----
----class Stack<S>
----{
----    public static void Hello<T,U> (S s, T t, U u)
----    {
----            U v = u;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-150.cs
index 31cbe55a22a8b6ce11a48faec72bf2030114046a,31cbe55a22a8b6ce11a48faec72bf2030114046a,31cbe55a22a8b6ce11a48faec72bf2030114046a,31cbe55a22a8b6ce11a48faec72bf2030114046a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----using System;
----static class Test1 {
----  public interface IOp<T> {
----    T Func(uint v);
----  }
----  public struct Op : IOp<ushort>, IOp<uint> {
----    ushort IOp<ushort>.Func(uint v) { return (ushort )(v * 2); }
----    uint IOp<uint>.Func(uint v) { return v * 4; }
----  }
----  static void Foo<T,OP>(uint v) where T:struct where OP : IOp<T> {
----    OP op = default(OP);
----    System.Console.WriteLine( op.Func(v) );
----  }
----  static public void Main() {
----    Foo<ushort, Op>(100);
----    Foo<uint, Op>(100);
----  }
----};
diff --cc mcs/tests/gen-151.cs
index 54fd9cceb617d3671e7082fa0c847864fc0c695c,54fd9cceb617d3671e7082fa0c847864fc0c695c,54fd9cceb617d3671e7082fa0c847864fc0c695c,54fd9cceb617d3671e7082fa0c847864fc0c695c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,12 -1,12 -1,12 -1,12 +1,0 @@@@@
----class Test<T> where T: struct{
----   public Test(){
----      T s = new T();
----   }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
----
diff --cc mcs/tests/gen-152.cs
index 35f062870bb7f24b0189cf4b8d8b51dd88a095d5,35f062870bb7f24b0189cf4b8d8b51dd88a095d5,35f062870bb7f24b0189cf4b8d8b51dd88a095d5,35f062870bb7f24b0189cf4b8d8b51dd88a095d5..0000000000000000000000000000000000000000
deleted file mode 100755,100755,100755,100755
+++ /dev/null
@@@@@ -1,47 -1,47 -1,47 -1,47 +1,0 @@@@@
----using System;
----
----public interface IFoo
----{
----    IFoo Hello ();
----}
----
----public interface IFoo<T> : IFoo
----{
----    new IFoo<T> Hello ();
----}
----
----public interface ICollectionValue<T>: IFoo<T>
----{
----}
----
----public interface ICollection<T>: ICollectionValue<T>
----{ }
----
----public abstract class EnumerableBase<T> : IFoo<T>
----{
----    public abstract IFoo<T> Hello();
----
----    IFoo IFoo.Hello ()
----    {
----            return Hello ();
----    }
----}
----
----public abstract class CollectionBase<T> : EnumerableBase<T>
----{
----}
----
----public class HashBag<T>: CollectionBase<T>, ICollection<T>
----{
----    public override IFoo<T> Hello ()
----    {
----            return this;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-153.cs
index 7b615431c2ab94c93dbb2b5a6527de653dd1aa3a,7b615431c2ab94c93dbb2b5a6527de653dd1aa3a,7b615431c2ab94c93dbb2b5a6527de653dd1aa3a,7b615431c2ab94c93dbb2b5a6527de653dd1aa3a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----public interface IBase
----{
----    void DoSomeThing();
----}
----
----public interface IExtended : IBase
----{
----    void DoSomeThingElse();
----}
----
----public class MyClass<T> where T: IExtended, new()
----{
----    public MyClass()
----    {
----            T instance = new T();
----            instance.DoSomeThing();
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-154.cs
index 318a6d2fd324949469d9830d0619578a818fb42c,318a6d2fd324949469d9830d0619578a818fb42c,318a6d2fd324949469d9830d0619578a818fb42c,318a6d2fd324949469d9830d0619578a818fb42c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----public delegate int T<X> (X x);
----
----public class B
----{
----    public static T<X> M<X> ()
----    {
----            return delegate(X x) { return 5; };
----    }
----
----    public static T<long> N ()
----    {
----            return delegate(long x) { return 6; };
----    }
----}
----
----public class D
----{
----    public static void Main ()
----    {
----            B.M<int>();
----            B.N ();
----    }
----}
diff --cc mcs/tests/gen-155.cs
index 7b615431c2ab94c93dbb2b5a6527de653dd1aa3a,7b615431c2ab94c93dbb2b5a6527de653dd1aa3a,7b615431c2ab94c93dbb2b5a6527de653dd1aa3a,7b615431c2ab94c93dbb2b5a6527de653dd1aa3a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----public interface IBase
----{
----    void DoSomeThing();
----}
----
----public interface IExtended : IBase
----{
----    void DoSomeThingElse();
----}
----
----public class MyClass<T> where T: IExtended, new()
----{
----    public MyClass()
----    {
----            T instance = new T();
----            instance.DoSomeThing();
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-156-dll.cs
index 11b920c4d1ea5e1a77d4ea6ee326b38ca4d81ca8,11b920c4d1ea5e1a77d4ea6ee326b38ca4d81ca8,11b920c4d1ea5e1a77d4ea6ee326b38ca4d81ca8,11b920c4d1ea5e1a77d4ea6ee326b38ca4d81ca8..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----// Compiler options: -t:library
----
----namespace FLMID.Bugs.Marshal15
----{
----    public class A<T>
----
----    {
----
----    }
----    public abstract class B
----    {
----            protected A<bool> _aux;
----    }
----    public class X : B
----    {
----    }
----    public abstract class C
----    {
----            protected B _layout;
----    }
----}
----
diff --cc mcs/tests/gen-156-exe.cs
index b5b1f28adc57dded3a48aa2528840a6f30f6af88,b5b1f28adc57dded3a48aa2528840a6f30f6af88,b5b1f28adc57dded3a48aa2528840a6f30f6af88,b5b1f28adc57dded3a48aa2528840a6f30f6af88..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----// Compiler options: -r:gen-156-dll.dll
----
----namespace FLMID.Bugs.Marshal15
----{
----    public class D : C
----    {
----            public D()
----            {
----                    _layout = new X();
----            }
----            public static void Main(string[] args)
----            {
----                    System.Console.WriteLine("OK");
----            }
----    }
----}
----
diff --cc mcs/tests/gen-157.cs
index f314b01af4a8ea47481aa43173be8fee758a2e5e,f314b01af4a8ea47481aa43173be8fee758a2e5e,f314b01af4a8ea47481aa43173be8fee758a2e5e,f314b01af4a8ea47481aa43173be8fee758a2e5e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----interface a <t> { void x (); }
----
----interface b <t> : a <t> {}
----
----class kv <k,v> {} // type t
----
----interface c <k,v>: b <kv<k,v>>,  // b <t>
----                   a <kv<k,v>>    // a <t>
----{}
----
----class m <k,v> : c <k,v>,
----                b <kv<k,v>> // b <t>
----{
----        void a <kv <k,v>>.x () {} // a<t>.x ()
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-158.cs
index 5f547f9df716f516ef98a430329003be4f983a17,5f547f9df716f516ef98a430329003be4f983a17,5f547f9df716f516ef98a430329003be4f983a17,5f547f9df716f516ef98a430329003be4f983a17..0000000000000000000000000000000000000000
deleted file mode 100755,100755,100755,100755
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----public class Moo<C>
----    where C : Moo<C>.Foo
----{
----    public class Foo
----    { }
----}
----
----public class Test : Moo<Test>.Foo
----{
----}
----
----class X
----{
----    static void Main ()
----    {
----            Moo<Test> moo = new Moo<Test> ();
----    }
----}
diff --cc mcs/tests/gen-16.cs
index bf6b51bedd775506d0566f105557c53dfa301aac,bf6b51bedd775506d0566f105557c53dfa301aac,bf6b51bedd775506d0566f105557c53dfa301aac,bf6b51bedd775506d0566f105557c53dfa301aac..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----// A generic method may also use the type parameters
----// from its enclosing type.
----
----class Stack<S>
----{
----    public static void Hello<T> (S s, T t)
----    { }
----}
----
----class X
----{
----    Stack<int> stack;
----
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-17-dll.cs
index f128e6228630269468c013860177ef7d0386c480,f128e6228630269468c013860177ef7d0386c480,f128e6228630269468c013860177ef7d0386c480,f128e6228630269468c013860177ef7d0386c480..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----// Compiler options: -t:library
----
----public class Stack
----{
----    public Stack ()
----    { }
----
----    public void Hello<T> (T t)
----    { }
----}
diff --cc mcs/tests/gen-17-exe.cs
index a2ad2648b5b77910b0dcfa98597cd2b6ff845409,a2ad2648b5b77910b0dcfa98597cd2b6ff845409,a2ad2648b5b77910b0dcfa98597cd2b6ff845409,a2ad2648b5b77910b0dcfa98597cd2b6ff845409..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----// Compiler options: -r:gen-17-dll.dll
----
----public class X
----{
----    public static void Foo (Stack stack)
----    {
----            stack.Hello<string> ("Hello World");
----    }
----
----    static void Main ()
----    {
----            Stack stack = new Stack ();
----            Foo (stack);
----    }
----}
diff --cc mcs/tests/gen-18.cs
index 92f38ce86cf00b08f94d4be4505a08808493e9ed,92f38ce86cf00b08f94d4be4505a08808493e9ed,92f38ce86cf00b08f94d4be4505a08808493e9ed,92f38ce86cf00b08f94d4be4505a08808493e9ed..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----public class Stack
----{
----    public Stack ()
----    { }
----
----    public void Hello<T> (T t)
----    { }
----}
----
----public class X
----{
----    public static void Foo (Stack stack)
----    {
----            stack.Hello<string> ("Hello World");
----    }
----
----    static void Main ()
----    {
----            Stack stack = new Stack ();
----            Foo (stack);
----    }
----}
diff --cc mcs/tests/gen-19.cs
index 89bfba5004a94ac8440312aee07aabd7dd57c105,89bfba5004a94ac8440312aee07aabd7dd57c105,89bfba5004a94ac8440312aee07aabd7dd57c105,89bfba5004a94ac8440312aee07aabd7dd57c105..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// A very simple generic interface
----
----public interface IEnumerator<T> {
----    T Current { get; } 
----    bool MoveNext();
----    void Reset();
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-2.cs
index d2ea790320e9e7bd5485cf9ae155e656f8b834c3,d2ea790320e9e7bd5485cf9ae155e656f8b834c3,d2ea790320e9e7bd5485cf9ae155e656f8b834c3,d2ea790320e9e7bd5485cf9ae155e656f8b834c3..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----class Cell <X> {
----    X value;
----
----}
----
----class D {
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-20.cs
index d8f4992d5efd121fc8b9cf2807cf89dce0d15ed7,d8f4992d5efd121fc8b9cf2807cf89dce0d15ed7,d8f4992d5efd121fc8b9cf2807cf89dce0d15ed7,d8f4992d5efd121fc8b9cf2807cf89dce0d15ed7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----struct Stack<S>
----{
----    public void Hello (S s)
----    { }
----}
----
----class X
----{
----    Stack<int> stack;
----
----    void Test ()
----    {
----            stack.Hello (3);
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-21.cs
index c57b3df11245a1e55a96445a38c96b0ef8cf5a84,c57b3df11245a1e55a96445a38c96b0ef8cf5a84,c57b3df11245a1e55a96445a38c96b0ef8cf5a84,c57b3df11245a1e55a96445a38c96b0ef8cf5a84..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,68 -1,68 -1,68 -1,68 +1,0 @@@@@
----// Testing the default value expressions (14.5.13)
----
----using System;
----
----class Foo<T>
----{
----    T[] t;
----
----    public Foo (int n)
----    {
----            t = new T [n];
----            for (int i = 0; i < n; i++)
----                    t [i] = default (T);
----    }
----
----    public void Test ()
----    {
----            X.Print (t [0]);
----    }
----}
----
----class Bar<T>
----{
----    public void Test ()
----    {
----            X.Print (default (X));
----            X.Print (default (T));
----            X.Print (default (S));
----    }
----}
----
----struct S
----{
----    public readonly string Hello;
----
----    S (string hello)
----    {
----            this.Hello = hello;
----    }
----
----    public override string ToString ()
----    {
----            return String.Format ("S({0})", Hello);
----    }
----
----}
----
----class X
----{
----    public static void Print (object obj)
----    {
----            if (obj == null)
----                    Console.WriteLine ("NULL");
----            else
----                    Console.WriteLine ("OBJECT: {0} {1}", obj, obj.GetType ());
----    }
----
----    static void Main ()
----    {
----            Foo<string> a = new Foo<string> (4);
----            a.Test ();
----
----            Bar<int> b = new Bar<int> ();
----            b.Test ();
----            Bar<X> c = new Bar<X> ();
----            c.Test ();
----    }
----}
diff --cc mcs/tests/gen-22.cs
index 1a7df651723ceae8803eb425baa664deb2b5324a,1a7df651723ceae8803eb425baa664deb2b5324a,1a7df651723ceae8803eb425baa664deb2b5324a,1a7df651723ceae8803eb425baa664deb2b5324a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----// A non-generic type may have a closed constructed type as its parent
----
----class Foo<T>
----{
----    public void Hello ()
----    { }
----
----    public void World (T t)
----    {
----            Hello ();
----    }
----}
----
----class Bar : Foo<int>
----{
----    public void Test ()
----    {
----            Hello ();
----            World (4);
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Bar bar = new Bar ();
----            bar.Test ();
----    }
----}
diff --cc mcs/tests/gen-23.cs
index c4c8b6a03ebc693688bf6fbf51a0aae758098b73,c4c8b6a03ebc693688bf6fbf51a0aae758098b73,c4c8b6a03ebc693688bf6fbf51a0aae758098b73,c4c8b6a03ebc693688bf6fbf51a0aae758098b73..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----class Foo<T>
----{
----    public void Hello ()
----    { }
----
----    public void World (T t)
----    {
----            Hello ();
----    }
----}
----
----//
----// This is some kind of a `recursive' declaration:
----//
----// Note that we're using the class we're currently defining (Bar)
----// as argument of its parent.
----//
----// Is is important to run the resulting executable since this is
----// both a test for the compiler and the runtime.
----//
----
----class Bar : Foo<Bar>
----{
----    public void Test ()
----    {
----            Hello ();
----            World (this);
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-24.cs
index af7f93f37c5712f9d84feb38443f3fd14f955e98,af7f93f37c5712f9d84feb38443f3fd14f955e98,af7f93f37c5712f9d84feb38443f3fd14f955e98,af7f93f37c5712f9d84feb38443f3fd14f955e98..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----class Foo<T>
----{
----    public Foo ()
----    { }
----
----    public void Hello (T t)
----    {
----            // We're boxing the type parameter `T' to an object here.
----            Whatever (t);
----    }
----
----    public void Whatever (object o)
----    {
----            System.Console.WriteLine (o.GetType ());
----    }
----}
----
----class X
----{
----    static void Test (Foo<int> foo)
----    {
----            foo.Hello (4);
----    }
----
----    static void Main ()
----    {
----            Foo<int> foo = new Foo<int> ();
----            Test (foo);
----    }
----}
diff --cc mcs/tests/gen-25.cs
index f4e7b42bcd71edc6b446d6279456ec787c425e99,f4e7b42bcd71edc6b446d6279456ec787c425e99,f4e7b42bcd71edc6b446d6279456ec787c425e99,f4e7b42bcd71edc6b446d6279456ec787c425e99..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----class Foo
----{
----    public Foo ()
----    { }
----
----    public void Hello<T> (T t)
----    {
----            // We're boxing the type parameter `T' to an object here.
----            Whatever (t);
----    }
----
----    public void Whatever (object o)
----    {
----            System.Console.WriteLine (o.GetType ());
----    }
----}
----
----class X
----{
----    static void Test (Foo foo)
----    {
----            foo.Hello<int> (531);
----    }
----
----    static void Main ()
----    {
----            Foo foo = new Foo ();
----            Test (foo);
----    }
----}
diff --cc mcs/tests/gen-26.cs
index 039708680d487e8907b3748896fae720d4d0644d,039708680d487e8907b3748896fae720d4d0644d,039708680d487e8907b3748896fae720d4d0644d,039708680d487e8907b3748896fae720d4d0644d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----// Test access to class fields outside the generic type declaration.
----
----class Foo<T>
----{
----    public T Hello;
----
----    public Foo ()
----    { }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Foo<int> foo = new Foo<int> ();
----            foo.Hello = 9;
----    }
----}
diff --cc mcs/tests/gen-27.cs
index 4fdf4fd24c123350d196d29d67b279f04ebff61d,4fdf4fd24c123350d196d29d67b279f04ebff61d,4fdf4fd24c123350d196d29d67b279f04ebff61d,4fdf4fd24c123350d196d29d67b279f04ebff61d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,34 -1,34 -1,34 -1,34 +1,0 @@@@@
----// A generic type declaration may have a non-generic base type.
----
----class TheBase
----{
----    public void BaseFunc ()
----    { }
----}
----
----class Stack<S> : TheBase
----{
----    public void Hello (S s)
----    { }             
----}
----
----class Test<T> : Stack<T>
----{
----    public void Foo (T t)
----    { }
----}
----
----class X
----{
----    Test<int> test;
----
----    void Test ()
----    {
----            test.Foo (4);
----            test.Hello (3);
----            test.BaseFunc ();
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-28.cs
index f603b9bffc246ca32c22ef67d2202a77b7046eb6,f603b9bffc246ca32c22ef67d2202a77b7046eb6,f603b9bffc246ca32c22ef67d2202a77b7046eb6,f603b9bffc246ca32c22ef67d2202a77b7046eb6..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----class Stack<T>
----{
----    T t;
----
----    public Stack (T t)
----    {
----            this.t = t;
----    }
----
----    public object Test ()
----    {
----            // Boxing the type parameter `T' to an object.
----            return t;
----    }
----}
----
----class X
----{
----    public static object Test (Stack<int> stack)
----    {
----            return stack.Test ();
----    }
----
----    static void Main ()
----    {
----            Stack<int> stack = new Stack<int> (9);
----            System.Console.WriteLine (Test (stack));
----    }
----}
diff --cc mcs/tests/gen-29.cs
index 6194603a4fb9e673840e875b42a5ea91c771c900,6194603a4fb9e673840e875b42a5ea91c771c900,6194603a4fb9e673840e875b42a5ea91c771c900,6194603a4fb9e673840e875b42a5ea91c771c900..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,25 -1,25 -1,25 -1,25 +1,0 @@@@@
----class Stack<T>
----{
----    T[] t;
----
----    public Stack (int n)
----    {
----            t = new T [n];
----    }
----
----    public object Test ()
----    {
----            // Boxing the type parameter to an object; note that we're
----            // an array !
----            return t;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Stack<int> stack = new Stack<int> (5);
----            System.Console.WriteLine (stack.Test ());
----    }
----}
diff --cc mcs/tests/gen-3.cs
index 8a2e5377c492e4f808ebed6ae0ff9da6269fb932,8a2e5377c492e4f808ebed6ae0ff9da6269fb932,8a2e5377c492e4f808ebed6ae0ff9da6269fb932,8a2e5377c492e4f808ebed6ae0ff9da6269fb932..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----class Stack<T> {
----}
----
----class Test {
----}
----
----class T {
----    Stack<Test> a;
----
----    static void Main()
----    {
----    }
----}
diff --cc mcs/tests/gen-30.cs
index 29f1082bc67744175c72dff3f24ce03144a12cd2,29f1082bc67744175c72dff3f24ce03144a12cd2,29f1082bc67744175c72dff3f24ce03144a12cd2,29f1082bc67744175c72dff3f24ce03144a12cd2..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----// Note how the order of type parameters is different
----// in the base class.
----
----class Foo<T>
----{
----    public Foo ()
----    { }
----
----    public void Hello (T t)
----    { }
----}
----
----class Bar<T,U> : Foo<U>
----{
----    public Bar ()
----    { }
----
----    public void Test (T t, U u)
----    { }
----}
----
----class X
----{
----    static void Test (Bar<int,string> bar)
----    {
----            bar.Hello ("Test");
----            bar.Test (7, "Hello");
----    }
----
----    static void Main ()
----    {
----            Bar<int,string> bar = new Bar<int,string> ();
----            Test (bar);
----    }
----}
diff --cc mcs/tests/gen-31-dll.cs
index 50634094f84c91b98e587c4cbf5b4b8f7665c24b,50634094f84c91b98e587c4cbf5b4b8f7665c24b,50634094f84c91b98e587c4cbf5b4b8f7665c24b,50634094f84c91b98e587c4cbf5b4b8f7665c24b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -t:library
----
----public class Foo<T>
----{
----    public void Hello (T t)
----    { }
----}
----
----public class Bar<T,U> : Foo<U>
----{
----    public void Test (T t, U u)
----    { }
----}
diff --cc mcs/tests/gen-31-exe.cs
index bbbe34cc19fb5980a508a747933f14fc8de01b5c,bbbe34cc19fb5980a508a747933f14fc8de01b5c,bbbe34cc19fb5980a508a747933f14fc8de01b5c,bbbe34cc19fb5980a508a747933f14fc8de01b5c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -r:gen-31-dll.dll
----
----public class X
----{
----    public static void Test (Bar<int,string> bar)
----    {
----            bar.Hello ("Test");
----            bar.Test (7, "Hello");
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-32.cs
index 1b554a5f5fcee648dc93899286d26c9c10ae03bd,1b554a5f5fcee648dc93899286d26c9c10ae03bd,1b554a5f5fcee648dc93899286d26c9c10ae03bd,1b554a5f5fcee648dc93899286d26c9c10ae03bd..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----// Generic interfaces
----
----interface Foo<S>
----{
----    void Hello (S s);
----}
----
----interface Bar<T,U> : Foo<U>
----{
----    void Test (T t, U u);
----}
----
----class X
----{
----    static void Test (Bar<int,string> bar)
----    {
----            bar.Hello ("Test");
----            bar.Test (7, "Hello");
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-33.cs
index b64d72f261717ad75cc2c29be003904f1bc87d2d,b64d72f261717ad75cc2c29be003904f1bc87d2d,b64d72f261717ad75cc2c29be003904f1bc87d2d,b64d72f261717ad75cc2c29be003904f1bc87d2d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----// Generic interfaces
----
----interface Foo<R,S>
----{
----    void Hello (R r, S s);
----}
----
----interface Bar<T,U,V> : Foo<V,float>
----{
----    void Test (T t, U u, V v);
----}
----
----class X
----{
----    static void Test (Bar<long,int,string> bar)
----    {
----            bar.Hello ("Test", 3.14F);
----            bar.Test (512, 7, "Hello");
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-34.cs
index 7df2d55f3d00026d2e4bf4f52b2f55920c7e9241,7df2d55f3d00026d2e4bf4f52b2f55920c7e9241,7df2d55f3d00026d2e4bf4f52b2f55920c7e9241,7df2d55f3d00026d2e4bf4f52b2f55920c7e9241..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----class Foo<T>
----{ }
----
----class Stack<T>
----{ }
----
----//
----// We may use a constructed type `Stack<T>' instead of
----// just a type parameter.
----//
----
----class Bar<T> : Foo<Stack<T>>
----{ }
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-35.cs
index 06f1a69081a4229f7797700e8554ed4a0492d337,06f1a69081a4229f7797700e8554ed4a0492d337,06f1a69081a4229f7797700e8554ed4a0492d337,06f1a69081a4229f7797700e8554ed4a0492d337..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----// May use a constructed type as constraint.
----
----class Test<T>
----{ }
----
----class Foo<T>
----    where T : Test<T>
----{ }
----
----class X
----{
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-36.cs
index 1cf8e8b0e3fc441a36e2c8c1f869af62b952606e,1cf8e8b0e3fc441a36e2c8c1f869af62b952606e,1cf8e8b0e3fc441a36e2c8c1f869af62b952606e,1cf8e8b0e3fc441a36e2c8c1f869af62b952606e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----//
----// This is another "important" test: it checks whether we set
----// TypeContainer.CurrentType correctly when compiling the
----// declaration of `Stack'.
----//
----
----class Stack<T>
----{
----    //
----    // This must be encoded as a TypeSpec (Stack<!0>) and
----    // not as a TypeDef.
----    //
----    // PEVerify the resulting executable on Windows to make sure !
----    //
----    void Hello (Stack<T> stack)
----    {
----    }
----
----    void Test ()
----    {
----            Hello (this);
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-37.cs
index 88eba8e1a1efa586d7428f8dc4728f3cd767a9a9,88eba8e1a1efa586d7428f8dc4728f3cd767a9a9,88eba8e1a1efa586d7428f8dc4728f3cd767a9a9,88eba8e1a1efa586d7428f8dc4728f3cd767a9a9..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,41 -1,41 -1,41 -1,41 +1,0 @@@@@
----//
----// Check whether we're correctly handling `this'.
----//
----//
----
----public class Foo<T,U>
----{
----    public void Hello (Foo<T,U> foo)
----    {
----    }
----
----    public virtual void Test ()
----    {
----            //
----            // Again, this must be encoded as a TypeSpec (Foo<!0,!1>)
----            // instead of a TypeDef.
----            Hello (this);
----    }
----}
----
----public class Bar<T> : Foo<T,long>
----{
----    public void Test (Foo<T,long> foo)
----    {
----            Hello (foo);
----    }
----}
----
----public class Baz<T> : Foo<T,string>
----{
----    public override void Test ()
----    {
----            Hello (this);
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-38.cs
index c39eb3db6781ea75ce2884d0c58b21f188837911,c39eb3db6781ea75ce2884d0c58b21f188837911,c39eb3db6781ea75ce2884d0c58b21f188837911,c39eb3db6781ea75ce2884d0c58b21f188837911..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,61 -1,61 -1,61 -1,61 +1,0 @@@@@
----//
----// Another important test: nested generic types.
----//
----
----using System;
----
----class Queue<T>
----{
----    public Queue (T first, T second)
----    {
----            head = new Node<T> (null, second);
----            head = new Node<T> (head, first);
----    }
----
----    protected Node<T> head;
----
----    protected Node<T> GetFoo ()
----    {
----            return head;
----    }
----
----    protected Node<T> Foo {
----            get {
----                    return GetFoo ();
----            }
----    }
----
----    protected void Test (T t)
----    {
----            Console.WriteLine (t);
----    }
----
----    public void Test ()
----    {
----            Test (head.Item);
----            Test (head.Next.Item);
----            Test (GetFoo ().Item);
----            Test (Foo.Item);
----    }
----
----    protected class Node<U>
----    {
----            public readonly U Item;
----            public readonly Node<U> Next;
----
----            public Node (Node<U> next, U item)
----            {
----                    this.Next = next;
----                    this.Item = item;
----            }
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Queue<int> queue = new Queue<int> (5, 9);
----            queue.Test ();
----    }
----}
diff --cc mcs/tests/gen-39.cs
index 24d3d62f668be3c572a7e32680f7f32232d1b3b1,24d3d62f668be3c572a7e32680f7f32232d1b3b1,24d3d62f668be3c572a7e32680f7f32232d1b3b1,24d3d62f668be3c572a7e32680f7f32232d1b3b1..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,58 -1,58 -1,58 -1,58 +1,0 @@@@@
----//
----// Important test for the runtime: check whether we're correctly
----// creating the vtable for nested types.
----//
----
----using System;
----
----interface IMonkey<T>
----{
----    T Jump ();
----}
----
----class Zoo<T>
----{
----    T t;
----
----    public Zoo (T t)
----    {
----            this.t = t;
----    }
----
----    public T Name {
----            get { return t; }
----    }
----
----    public IMonkey<U> GetTheMonkey<U> (U u)
----    {
----            return new Monkey<T,U> (this, u);
----    }
----
----    public class Monkey<V,W> : IMonkey<W>
----    {
----            public readonly Zoo<V> Zoo;
----            public readonly W Data;
----
----            public Monkey (Zoo<V> zoo, W data)
----            {
----                    this.Zoo = zoo;
----                    this.Data = data;
----            }
----
----            public W Jump ()
----            {
----                    Console.WriteLine ("Monkey {0} from {1} jumping!", Data, Zoo.Name);
----                    return Data;
----            }
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Zoo<string> zoo = new Zoo<string> ("Boston");
----            IMonkey<float> monkey = zoo.GetTheMonkey<float> (3.14F);
----            monkey.Jump ();
----    }
----}
diff --cc mcs/tests/gen-4.cs
index 238c461246d907514a84f75358e1ef60797d8538,238c461246d907514a84f75358e1ef60797d8538,238c461246d907514a84f75358e1ef60797d8538,238c461246d907514a84f75358e1ef60797d8538..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----class Stack<T> {
----}
----
----class Test {
----}
----
----class T {
----    public void Foo (Stack<Test> a)
----    { }
----
----    static void Main()
----    {
----    }
----}
diff --cc mcs/tests/gen-40.cs
index bcaeef3d0c901ce2108bd5f5cc2e25863ec438d5,bcaeef3d0c901ce2108bd5f5cc2e25863ec438d5,bcaeef3d0c901ce2108bd5f5cc2e25863ec438d5,bcaeef3d0c901ce2108bd5f5cc2e25863ec438d5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,117 -1,117 -1,117 -1,117 +1,0 @@@@@
----public interface INode<T>
----{
----    void Hello (T t);
----}
----
----public class Stack<T>
----{
----    public T TheData;
----    public readonly Foo<T> TheFoo;
----
----    public Stack (T t)
----    {
----            this.TheData = t;
----            this.TheFoo = new Foo<T> (t);
----    }
----
----    public INode<T> GetNode ()
----    {
----            return new Node (this);
----    }
----
----    public Foo<T> GetFoo (T t)
----    {
----            return new Foo<T> (t);
----    }
----
----    public Bar<T> GetBar (T t)
----    {
----            return new Bar<T> (t);
----    }
----
----    protected class Node : INode<T>
----    {
----            public readonly Stack<T> Stack;
----
----            public Node (Stack<T> stack)
----            {
----                    this.Stack = stack;
----            }
----
----            public void Hello (T t)
----            {
----            }
----    }
----
----    public class Foo<T>
----    {
----            public readonly T Data;
----
----            public Bar<T> GetBar ()
----            {
----                    return new Bar<T> (Data);
----            }
----
----            public Foo (T t)
----            {
----                    this.Data = t;
----            }
----    }
----
----    public class Bar<U>
----    {
----            public readonly U Data;
----
----            public Bar (U u)
----            {
----                    this.Data = u;
----            }
----
----            public Foo<T> GetFoo (Stack<T> stack)
----            {
----                    return stack.TheFoo;
----            }
----
----            public class Baz<V>
----            {
----                    public readonly V Data;
----
----                    public Foo<T> GetFoo (Stack<T> stack)
----                    {
----                            return new Foo<T> (stack.TheData);
----                    }
----
----                    public Bar<V> GetBar ()
----                    {
----                            return new Bar<V> (Data);
----                    }
----
----                    public Baz (V v)
----                    {
----                            this.Data = v;
----                    }
----            }
----    }
----
----    public void Test ()
----    {
----            Stack<T>.Foo<T> foo1 = GetFoo (TheData);
----            Foo<T> foo2 = GetFoo (TheData);
----
----            Stack<long>.Foo<T> foo3 = new Stack<long>.Foo<T> (TheData);
----            Stack<long>.Foo<float> foo4 = new Stack<long>.Foo<float> (3.14F);
----
----            Foo<double> foo5 = new Foo<double> (3.14);
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Stack<int> stack = new Stack<int> (1);
----            INode<int> node = stack.GetNode ();
----            Stack<int>.Foo<int> foo = stack.GetFoo (7);
----            Stack<int>.Bar<int> bar = stack.GetBar (8);
----    }
----}
diff --cc mcs/tests/gen-41.cs
index 1f778a5264185084b4868e6f14b1204f395f6d0a,1f778a5264185084b4868e6f14b1204f395f6d0a,1f778a5264185084b4868e6f14b1204f395f6d0a,1f778a5264185084b4868e6f14b1204f395f6d0a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----// We may use type parameters as `params' type.
----
----class Stack<T>
----{
----    public void Hello (int a, params T[] args)
----    { }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Stack<string> stack = new Stack<string> ();
----            stack.Hello (1, "Hello", "World");
----    }
----}
diff --cc mcs/tests/gen-42.cs
index 7862bacd3d8b51527efe2a6a70a7d3b4693426c1,7862bacd3d8b51527efe2a6a70a7d3b4693426c1,7862bacd3d8b51527efe2a6a70a7d3b4693426c1,7862bacd3d8b51527efe2a6a70a7d3b4693426c1..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,62 -1,62 -1,62 -1,62 +1,0 @@@@@
----// Compare this to gcs0695-*.cs: these are the allowed cases.
----
----namespace A
----{
----    interface I<X>
----    { }
----
----    interface J<X,Y> : I<X>
----    { }
----
----    class A<X> : I<X>, I<A<X>>
----    { }
----
----    class B<X> : I<B<X>>, I<X>, I<A<X>>
----    { }
----
----    class C<X> : I<int>, I<A<X>>
----    { }
----
----    class D<X> : I<A<float>>, I<B<X>>
----    { }
----
----    class E<X,Y> : J<X,Y>, J<I<X>,I<Y>>
----    { }
----
----    class F<X> : J<X,I<X>>, J<X,X>
----    { }
----}
----
----// bug #69057
----namespace B
----{
----    struct KeyValuePair<K,V>
----    { }
----
----    interface ITest<T>
----    { }
----
----    interface ITest2<K,V> : ITest<KeyValuePair<K,V>>
----    { }
----
----    class MyTest<K,V> : ITest2<K,V>, ITest<KeyValuePair<K,V>>
----    { }
----}
----
----// bug #58303
----namespace C
----{
----    class S <K> { }
----
----    interface Z<T> { }
----
----    interface I<K> : Z<S<K>> { }
----
----    class C <K> : I<K>, Z<S<K>> { }
----}
----
----class Test
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-43.cs
index 4d3c9180be2e8f7a0bad60702e6bbe544a35098f,4d3c9180be2e8f7a0bad60702e6bbe544a35098f,4d3c9180be2e8f7a0bad60702e6bbe544a35098f,4d3c9180be2e8f7a0bad60702e6bbe544a35098f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,79 -1,79 -1,79 -1,79 +1,0 @@@@@
----// Static fields in generic types: this is a runtime/JIT-only test
----//
----// We need to make sure that we're instantiating each closed generic
----// type (ie. "Test<int>") only once.
----
----using System;
----
----public class Test<T>
----{
----    public static int Count;
----
----    public void Foo ()
----    {
----            Count++;
----    }
----
----    public int GetCount ()
----    {
----            return Count;
----    }
----}
----
----class X
----{
----    static int DoTheTest<T> ()
----    {
----            Test<T> test = new Test<T> ();
----
----            test.Foo ();
----            if (test.GetCount () != 1)
----                    return 1;
----            if (Test<T>.Count != 1)
----                    return 2;
----
----            test.Foo ();
----            if (test.GetCount () != 2)
----                    return 3;
----            if (Test<T>.Count != 2)
----                    return 4;
----
----            test.Foo ();
----            if (test.GetCount () != 3)
----                    return 5;
----            if (Test<T>.Count != 3)
----                    return 6;
----
----            return 0;
----    }
----
----    static int Main ()
----    {
----            int result = DoTheTest<int> ();
----            if (result != 0)
----                    return result;
----
----            result = DoTheTest<long> () + 10;
----            if (result != 10)
----                    return result;
----
----            Test<int>.Count = 0;
----            ++Test<long>.Count;
----
----            result = DoTheTest<int> () + 20;
----            if (result != 20)
----                    return result;
----
----            if (Test<int>.Count != 3)
----                    return 31;
----            if (Test<long>.Count != 4)
----                    return 32;
----            Test<float>.Count = 5;
----            if (Test<int>.Count != 3)
----                    return 33;
----            if (Test<long>.Count != 4)
----                    return 34;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/gen-44.cs
index 679bbb1339bcc3228df120dc0467bae7fe93f223,679bbb1339bcc3228df120dc0467bae7fe93f223,679bbb1339bcc3228df120dc0467bae7fe93f223,679bbb1339bcc3228df120dc0467bae7fe93f223..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// Operators and generic types.
----
----using System;
----
----class X<T>
----{
----    public int Count;
----
----    public X (int count)
----    {
----            this.Count = count;
----    }
----
----    public static X<T> operator ++ (X<T> operand) {
----            return new X<T> (operand.Count + 1);
----    }
----}
----
----class Test
----{
----    static void Main ()
----    {
----            X<long> x = new X<long> (5);
----            Console.WriteLine (x.Count);
----            x++;
----            Console.WriteLine (x.Count);
----    }
----}
diff --cc mcs/tests/gen-45.cs
index 2036017109d0f7f3bd799f900b32a632270d86de,2036017109d0f7f3bd799f900b32a632270d86de,2036017109d0f7f3bd799f900b32a632270d86de,2036017109d0f7f3bd799f900b32a632270d86de..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----// Important test: Type inference
----
----class Test<A,B>
----{
----    public void Foo<U> (U u)
----    { }
----
----    public void Foo<V> (V[] v, V w)
----    { }
----
----    public void Hello<V,W> (V v, W w, Test<V,W> x)
----    { }
----
----    public void ArrayMethod<V> (params V[] args)
----    { }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Test<float,int> test = new Test<float,int> ();
----            test.Foo ("Hello World");
----            test.Foo (new long[] { 3, 4, 5 }, 9L);
----            test.Hello (3.14F, 9, test);
----            test.ArrayMethod (3.14F, (float) 9 / 3);
----    }
----}
----
diff --cc mcs/tests/gen-46.cs
index 40f01434d901503813554adceedcebc39d3d2cc4,40f01434d901503813554adceedcebc39d3d2cc4,40f01434d901503813554adceedcebc39d3d2cc4,40f01434d901503813554adceedcebc39d3d2cc4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,31 -1,31 -1,31 -1,31 +1,0 @@@@@
----// Generic delegates.
----
----using System;
----
----delegate void Test<T> (T t);
----
----class Foo<T>
----{
----    public event Test<T> MyEvent;
----
----    public void Hello (T t)
----    {
----            if (MyEvent != null)
----                    MyEvent (t);
----    }
----}
----
----class X
----{
----    static void do_hello (string hello)
----    {
----            Console.WriteLine ("Hello: {0}", hello);
----    }
----
----    static void Main ()
----    {
----            Foo<string> foo = new Foo<string> ();
----            foo.MyEvent += new Test<string> (do_hello);
----            foo.Hello ("Boston");
----    }
----}
diff --cc mcs/tests/gen-47-dll.cs
index 3f0bc06c16fa26ab67b58a8225f59e81e191ebdc,3f0bc06c16fa26ab67b58a8225f59e81e191ebdc,3f0bc06c16fa26ab67b58a8225f59e81e191ebdc,3f0bc06c16fa26ab67b58a8225f59e81e191ebdc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----// Compiler options: -t:library
----
----namespace Foo
----{
----    public class List
----    {
----    }
----}
----
----namespace Bar
----{
----    public class List<T>
----    {
----    }
----}
diff --cc mcs/tests/gen-47-exe.cs
index fe2a59e629b949ef38208ae4b9b4642375aba8ec,fe2a59e629b949ef38208ae4b9b4642375aba8ec,fe2a59e629b949ef38208ae4b9b4642375aba8ec,fe2a59e629b949ef38208ae4b9b4642375aba8ec..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----// Compiler options: -r:gen-47-dll.dll
----
----// Important test: verify our namespace lookup rules
----//
----// There's a generic and a non-generic `List' type in two
----// different namespaces: make sure we pick the correct one.
----
----using Foo;
----using Bar;
----
----class X
----{
----    static void Main ()
----    {
----            List<int> list = new List<int> ();
----    }
----}
diff --cc mcs/tests/gen-48.cs
index b1335e2a2bd59733d38c9bd87eb4359bf371d9b8,b1335e2a2bd59733d38c9bd87eb4359bf371d9b8,b1335e2a2bd59733d38c9bd87eb4359bf371d9b8,b1335e2a2bd59733d38c9bd87eb4359bf371d9b8..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,31 -1,31 -1,31 -1,31 +1,0 @@@@@
----// This fixed a problem in the JIT.
----
----public class Stack<T>
----{
----    T[] data;
----
----    public Stack ()
----    {
----            data = new T [10];
----    }
----
----    public void Add (T t)
----    {
----            data [0] = t;
----    }
----}
----
----struct Foo
----{
----    int a;
----}
----
----class X
----{
----    static void Main ()
----    {
----            Foo foo = new Foo ();
----            Stack<Foo> stack = new Stack<Foo> ();
----            stack.Add (foo);
----    }
----}
diff --cc mcs/tests/gen-49.cs
index e5e8699d292727dc42e80d550f97945252d188b9,e5e8699d292727dc42e80d550f97945252d188b9,e5e8699d292727dc42e80d550f97945252d188b9,e5e8699d292727dc42e80d550f97945252d188b9..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,43 -1,43 -1,43 -1,43 +1,0 @@@@@
----// Important test: compare this to gcs0408-*.cs; these are the allowed cases.
----
----class X<T>
----{
----    void A (T t)
----    { }
----
----    void A (T[] t)
----    { }
----
----    void A (T[,] t)
----    { }
----
----    void A (T[][] t)
----    { }
----
----    void B (T[] t)
----    { }
----
----    void B (int t)
----    { }
----
----    void C (T[] t)
----    { }
----
----    void C (T[,] t)
----    { }
----
----    void C (int[,,] t)
----    { }
----
----    void D (int x, T y)
----    { }
----
----    void D (T x, long y)
----    { }
----}
----
----class Foo
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-5.cs
index b3ecdeb70faddc52f281b1ff93533eddef0d0f89,b3ecdeb70faddc52f281b1ff93533eddef0d0f89,b3ecdeb70faddc52f281b1ff93533eddef0d0f89,b3ecdeb70faddc52f281b1ff93533eddef0d0f89..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,12 -1,12 -1,12 -1,12 +1,0 @@@@@
----class Stack<T> {
----}
----
----class Test {
----}
----
----class T {
----    static void Main()
----    {
----            Stack<Test> a;
----    }
----}
diff --cc mcs/tests/gen-50.cs
index 641ac26429370313a3b5acf98170a8cb7edabff6,641ac26429370313a3b5acf98170a8cb7edabff6,641ac26429370313a3b5acf98170a8cb7edabff6,641ac26429370313a3b5acf98170a8cb7edabff6..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// Type inference when creating delegates
----
----using System;
----
----delegate int D (string s, int i);
----
----delegate int E ();
----
----class X
----{
----    public static T F<T> (string s, T t)
----    {
----            return t;
----    }
----
----    public static T G<T> ()
----    {
----            throw new ArgumentException ();
----    }
----
----    static void Main ()
----    {
----            D d1 = new D (F<int>);
----            D d2 = new D (F);
----
----            E e1 = new E (G<int>);
----    }
----}
diff --cc mcs/tests/gen-51.cs
index 5fc94f7c6e895fe9c375b0d5cfb4e1d07a116445,5fc94f7c6e895fe9c375b0d5cfb4e1d07a116445,5fc94f7c6e895fe9c375b0d5cfb4e1d07a116445,5fc94f7c6e895fe9c375b0d5cfb4e1d07a116445..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,33 -1,33 -1,33 -1,33 +1,0 @@@@@
----using System;
----
----public class Foo<T>
----    where T : A
----{
----    public void Test (T t)
----    {
----            Console.WriteLine (t);
----            Console.WriteLine (t.GetType ());
----            t.Hello ();
----    }
----}
----
----public class A
----{
----    public void Hello ()
----    {
----            Console.WriteLine ("Hello World");
----    }
----}
----
----public class B : A
----{
----}
----
----class X
----{
----    static void Main ()
----    {
----            Foo<B> foo = new Foo<B> ();
----            foo.Test (new B ());
----    }
----}
diff --cc mcs/tests/gen-52.cs
index f2a8441ba6f6fce27ae77d0b4dd6f541eef3beae,f2a8441ba6f6fce27ae77d0b4dd6f541eef3beae,f2a8441ba6f6fce27ae77d0b4dd6f541eef3beae,f2a8441ba6f6fce27ae77d0b4dd6f541eef3beae..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// We create an instance of a type parameter which has the new() constraint.
----using System;
----
----public class Foo<T>
----    where T : new ()
----{
----    public T Create ()
----    {
----            return new T ();
----    }
----}
----
----class X
----{
----    public X ()
----    { }
----
----    void Hello ()
----    {
----            Console.WriteLine ("Hello World");
----    }
----
----    static void Main ()
----    {
----            Foo<X> foo = new Foo<X> ();
----            foo.Create ().Hello ();
----    }
----}
diff --cc mcs/tests/gen-53.cs
index 1feda3b96c47292d8692319215b736c2f14940ee,1feda3b96c47292d8692319215b736c2f14940ee,1feda3b96c47292d8692319215b736c2f14940ee,1feda3b96c47292d8692319215b736c2f14940ee..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,169 -1,169 -1,169 -1,169 +1,0 @@@@@
----//
----// Important test: Type parameters and boxing (26.7.3).
----//
----// This tests the constrained_ prefix opcode.
----//
----using System;
----
----public interface ICounter
----{
----    void Increment ();
----}
----
----namespace ValueTypeCounters
----{
----    public struct SimpleCounter : ICounter
----    {
----            public int Value;
----
----            public void Increment ()
----            {
----                    Value += 2;
----            }
----    }
----
----    public struct PrintingCounter : ICounter
----    {
----            public int Value;
----
----            public override string ToString ()
----            {
----                    return Value.ToString ();
----            }
----
----            public void Increment ()
----            {
----                    Value += 2;
----            }
----    }
----
----    public struct ExplicitCounter : ICounter
----    {
----            public int Value;
----
----            public override string ToString ()
----            {
----                    return Value.ToString ();
----            }
----
----            void ICounter.Increment ()
----            {
----                    Value++;
----            }
----    }
----
----    public struct InterfaceCounter : ICounter
----    {
----            public int Value;
----
----            public override string ToString ()
----            {
----                    return Value.ToString ();
----            }
----
----            void ICounter.Increment ()
----            {
----                    Value++;
----            }
----
----            public void Increment ()
----            {
----                    Value += 2;
----            }
----    }
----}
----
----namespace ReferenceTypeCounters
----{
----    public class SimpleCounter : ICounter
----    {
----            public int Value;
----
----            public void Increment ()
----            {
----                    Value += 2;
----            }
----    }
----
----    public class PrintingCounter : ICounter
----    {
----            public int Value;
----
----            public override string ToString ()
----            {
----                    return Value.ToString ();
----            }
----
----            public void Increment ()
----            {
----                    Value += 2;
----            }
----    }
----
----    public class ExplicitCounter : ICounter
----    {
----            public int Value;
----
----            public override string ToString ()
----            {
----                    return Value.ToString ();
----            }
----
----            void ICounter.Increment ()
----            {
----                    Value++;
----            }
----    }
----
----    public class InterfaceCounter : ICounter
----    {
----            public int Value;
----
----            public override string ToString ()
----            {
----                    return Value.ToString ();
----            }
----
----            void ICounter.Increment ()
----            {
----                    Value++;
----            }
----
----            public void Increment ()
----            {
----                    Value += 2;
----            }
----    }
----}
----
----namespace Test
----{
----    using V = ValueTypeCounters;
----    using R = ReferenceTypeCounters;
----
----    public class Test<T>
----            where T : ICounter
----    {
----            public static void Foo (T x)
----            {
----                    Console.WriteLine (x.ToString ());
----                    x.Increment ();
----                    Console.WriteLine (x.ToString ());
----            }
----    }
----
----    public class X
----    {
----            static void Main ()
----            {
----                    Test<V.SimpleCounter>.Foo (new V.SimpleCounter ());
----                    Test<V.PrintingCounter>.Foo (new V.PrintingCounter ());
----                    Test<V.ExplicitCounter>.Foo (new V.ExplicitCounter ());
----                    Test<V.InterfaceCounter>.Foo (new V.InterfaceCounter ());
----                    Test<R.SimpleCounter>.Foo (new R.SimpleCounter ());
----                    Test<R.PrintingCounter>.Foo (new R.PrintingCounter ());
----                    Test<R.ExplicitCounter>.Foo (new R.ExplicitCounter ());
----                    Test<R.InterfaceCounter>.Foo (new R.InterfaceCounter ());
----            }
----    }
----}
diff --cc mcs/tests/gen-54.cs
index 7080a2d417a3fb8e9307e0a0e0331df671556e48,7080a2d417a3fb8e9307e0a0e0331df671556e48,7080a2d417a3fb8e9307e0a0e0331df671556e48,7080a2d417a3fb8e9307e0a0e0331df671556e48..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,75 -1,75 -1,75 -1,75 +1,0 @@@@@
----//
----// Conversions involving type parameters (26.7.4).
----// This is a compilation-only test since some of the explict
----// conversions would trigger an InvalidCastException.
----//
----
----using System;
----
----interface Foo
----{
----    void Hello ();
----}
----
----class A
----{ }
----
----class B : A, Foo
----{
----    public void Hello ()
----    { }
----
----    public static implicit operator C (B b)
----    {
----            return new C ();
----    }
----}
----
----class C
----{
----    public static explicit operator B (C c)
----    {
----            return new B ();
----    }
----}
----
----class Test
----{
----    static void Simple<T> (T t)
----    {
----            object o = t;
----            t = (T) o;
----            Foo foo = (Foo) t;
----            t = (T) foo;
----    }
----
----    static void Interface<T> (T t)
----            where T : Foo
----    {
----            Foo foo = t;
----    }
----
----    static void Class<T> (T t)
----            where T : B
----    {
----            B b = t;
----            A a = t;
----            Foo foo = t;
----            t = (T) b;
----            t = (T) a;
----            t = (T) foo;
----            C c = t;
----            t = (T) c;
----    }
----
----    static void Array<T> (T[] t)
----    {
----            object o = t;
----            Array a = t;
----            t = (T []) o;
----            t = (T []) a;
----    }
----
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-55.cs
index 586196d45d8712394c5bf763da914d53b75f3885,586196d45d8712394c5bf763da914d53b75f3885,586196d45d8712394c5bf763da914d53b75f3885,586196d45d8712394c5bf763da914d53b75f3885..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// Using constructed types in a namespace alias.
----
----namespace N1
----{
----    class A<T>
----    {
----            public class B { }
----
----            public class C<U> { }
----    }
----
----    class C { }
----}
----
----namespace N2
----{
----    using Y = N1.A<int>;
----
----    class X
----    {
----            static void Main ()
----            {
----                    Y y = new Y ();
----                    Y.B b = new Y.B ();
----                    Y.C<long> c = new Y.C<long> ();
----            }
----    }
----}
diff --cc mcs/tests/gen-56.cs
index 8080c0ab75f0b0f22ecc6fc9153756dde9772acc,8080c0ab75f0b0f22ecc6fc9153756dde9772acc,8080c0ab75f0b0f22ecc6fc9153756dde9772acc,8080c0ab75f0b0f22ecc6fc9153756dde9772acc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,58 -1,58 -1,58 -1,58 +1,0 @@@@@
----//-- ex-gen-logger
----//-- ex-gen-struct-pair
----//-- ex-gen-logging-pairs
----// 1.2 alpha
----
----using System;
----
----public class Log<T> {
----  private const int SIZE = 5;
----  private static int instanceCount = 0;
----  private int count = 0;
----  private T[] log = new T[SIZE];
----  public Log() { instanceCount++; }
----  public static int InstanceCount { get { return instanceCount; } }
----  public void Add(T msg) { log[count++ % SIZE] = msg; }
----  public int Count { get { return count; } }
----  public T Last {
----    get { // Return the last log entry, or null if nothing logged yet
----      return count==0 ? default(T) : log[(count-1)%SIZE];
----    }
----    set { // Update the last log entry, or create one if nothing logged yet 
----      if (count==0)
----        log[count++] = value;
----      else
----        log[(count-1)%SIZE] = value;
----    }
----  }    
----  public T[] All {
----    get {
----      int size = Math.Min(count, SIZE);
----      T[] res = new T[size];
----      for (int i=0; i<size; i++)
----        res[i] = log[(count-size+i) % SIZE];
----      return res;
----    }
----  }
----}
----
----class TestLog {
----  class MyTest {
----    public static void Main(String[] args) {
----      Log<String> log1 = new Log<String>();
----      log1.Add("Reboot");
----      log1.Add("Coffee");
----      Log<DateTime> log2 = new Log<DateTime>();
----      log2.Add(DateTime.Now);
----      log2.Add(DateTime.Now.AddHours(1));
----      DateTime[] dts = log2.All;
----      // Printing both logs:
----      foreach (String s in log1.All) 
----    Console.Write("{0}   ", s);
----      Console.WriteLine();
----      foreach (DateTime dt in dts) 
----    Console.Write("{0}   ", dt);
----      Console.WriteLine();
----    }
----  }
----}
diff --cc mcs/tests/gen-57.cs
index e3ba73bbf992f2fa03763b69359e58f7fd04d903,e3ba73bbf992f2fa03763b69359e58f7fd04d903,e3ba73bbf992f2fa03763b69359e58f7fd04d903,e3ba73bbf992f2fa03763b69359e58f7fd04d903..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,37 -1,37 -1,37 -1,37 +1,0 @@@@@
----using System;
----
----interface IHello<T>
----{
----    void Print (T t);
----}
----
----interface Foo
----{
----    IHello<U> Test<U> ();
----}
----
----class Hello<T> : IHello<T>, Foo
----{
----    public void Print (T t)
----    {
----            Console.WriteLine ("Hello: {0}", t);
----    }
----
----    public IHello<U> Test<U> ()
----    {
----            return new Hello<U> ();
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Hello<int> hello = new Hello<int> ();
----            hello.Print (5);
----            hello.Test<float> ().Print (3.14F);
----
----            IHello<string> foo = hello.Test<string> ();
----            foo.Print ("World");
----    }
----}
diff --cc mcs/tests/gen-58.cs
index 63a213bb9ad37824ddd813f2a905b48874b8b6a7,63a213bb9ad37824ddd813f2a905b48874b8b6a7,63a213bb9ad37824ddd813f2a905b48874b8b6a7,63a213bb9ad37824ddd813f2a905b48874b8b6a7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----class Foo {
----    static void Main () {}
----}
----
----class Foo <T> {
----    static Foo <T> x;
----    static Foo <T> Blah { get { return x; } }
----}
diff --cc mcs/tests/gen-59.cs
index f65d1ae475bd66727cd84f0014d6ec5e13b20529,f65d1ae475bd66727cd84f0014d6ec5e13b20529,f65d1ae475bd66727cd84f0014d6ec5e13b20529,f65d1ae475bd66727cd84f0014d6ec5e13b20529..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,9 -1,9 -1,9 -1,9 +1,0 @@@@@
----namespace N {
----    interface A <T> {
----    }
----}
----class X <T> : N.A <T> {
----}
----class Foo {
----    static void Main () {}
----}
diff --cc mcs/tests/gen-6.cs
index 5faf6e91ebc6dff007ac0143c3faf65ec1ce2d47,5faf6e91ebc6dff007ac0143c3faf65ec1ce2d47,5faf6e91ebc6dff007ac0143c3faf65ec1ce2d47,5faf6e91ebc6dff007ac0143c3faf65ec1ce2d47..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,34 -1,34 -1,34 -1,34 +1,0 @@@@@
----// Using an array of a type parameter.
----
----class Stack<T>
----{
----    int size;
----    T[] data;
----
----    public Stack ()
----    {
----            data = new T [200];
----    }
----
----    public void Push (T item)
----    {
----            data [size++] = item;
----    }
----
----    public T Pop ()
----    {
----            return data [--size];
----    }
----
----    public void Hello (T t)
----    {
----            System.Console.WriteLine ("Hello: {0}", t);
----    }
----}
----
----class Test
----{
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-60.cs
index 446d87b3eb58fdaee066c82140dfd73a84e7cd88,446d87b3eb58fdaee066c82140dfd73a84e7cd88,446d87b3eb58fdaee066c82140dfd73a84e7cd88,446d87b3eb58fdaee066c82140dfd73a84e7cd88..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,32 -1,32 -1,32 -1,32 +1,0 @@@@@
----using System;
----
----interface IFoo
----{
----    MyList<U> Map<U> ();
----}
----
----class MyList<T>
----{
----    public void Hello (T t)
----    {
----            Console.WriteLine (t);
----    }
----}
----
----class Foo : IFoo
----{
----    public MyList<T> Map<T> ()
----    {
----            return new MyList<T> ();
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Foo foo = new Foo ();
----            MyList<int> list = foo.Map<int> ();
----            list.Hello (9);
----    }
----}
diff --cc mcs/tests/gen-61.cs
index a7486896238227e46060138d75965ec608f18df7,a7486896238227e46060138d75965ec608f18df7,a7486896238227e46060138d75965ec608f18df7,a7486896238227e46060138d75965ec608f18df7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,32 -1,32 -1,32 -1,32 +1,0 @@@@@
----using System;
----
----public delegate B Test<A,B> (A a);
----
----public class Foo<T>
----{
----    T t;
----
----    public Foo (T t)
----    {
----            this.t = t;
----    }
----
----    public U Method<U> (Test<T,U> test)
----    {
----            return test (t);
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Test<double,int> test = new Test<double,int> (Math.Sign);
----
----            Foo<double> foo = new Foo<double> (Math.PI);
----            Console.WriteLine (foo.Method<int> (test));
----
----            string s = foo.Method<string> (delegate (double d) { return "s" + d; });
----            Console.WriteLine (s);
----    }
----}
diff --cc mcs/tests/gen-62.cs
index 2822e169f93ed0068837ed7253a17492a97927e7,2822e169f93ed0068837ed7253a17492a97927e7,2822e169f93ed0068837ed7253a17492a97927e7,2822e169f93ed0068837ed7253a17492a97927e7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----using System.Collections.Generic;
----
----class X
----{
----    public IEnumerable<int> Test (int a, long b)
----    {
----            while (a < b) {
----                    a++;
----                    yield return a;
----            }
----        }
----
----    static int Main ()
----    {
----            X x = new X ();
----            int sum = 0;
----            foreach (int i in x.Test (3, 8L))
----                    sum += i;
----
----            return sum == 30 ? 0 : 1;
----    }
----}
diff --cc mcs/tests/gen-63.cs
index cb57c5146555981b1adcb0e89b27f0143bf2f6d0,cb57c5146555981b1adcb0e89b27f0143bf2f6d0,cb57c5146555981b1adcb0e89b27f0143bf2f6d0,cb57c5146555981b1adcb0e89b27f0143bf2f6d0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,41 -1,41 -1,41 -1,41 +1,0 @@@@@
----using System;
----
----public class Test
----{
----    public static int IndexOf (Array array, object value)
----    {
----            // This is picking the non-generic version.
----            return IndexOf (array, value, 0, array.Length);
----    }
----
----    public static int IndexOf (Array array, object value, int startIndex, int count)
----    {
----            return 2;
----    }
----
----    public static int IndexOf<T> (T[] array, T value, int startIndex, int count)
----    {
----            return 1;
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            Test test = new Test ();
----            string[] array = new string [] { "Hello" };
----
----            int result = Test.IndexOf (array, array);
----            if (result != 2)
----                    return 1;
----
----            string hello = "Hello World";
----            // This is picking the generic version.
----            result = Test.IndexOf (array, hello, 1, 2);
----            if (result != 1)
----                    return 2;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/gen-64.cs
index 8df837934c57a85a26855e0a541a30c64d7f81a2,8df837934c57a85a26855e0a541a30c64d7f81a2,8df837934c57a85a26855e0a541a30c64d7f81a2,8df837934c57a85a26855e0a541a30c64d7f81a2..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,41 -1,41 -1,41 -1,41 +1,0 @@@@@
----using System;
----
----public interface IHello<T>
----{ }
----
----public interface IFoo<T>
----{
----    IHello<T> GetHello ();
----}
----
----public interface IBar<T> : IFoo<T>
----{ }
----
----public class Foo<T> : IBar<T>, IFoo<T>
----{
----    public Hello GetHello ()
----    {
----            return new Hello (this);
----    }
----
----    IHello<T> IFoo<T>.GetHello ()
----    {
----            return new Hello (this);
----    }
----
----    public class Hello : IHello<T>
----    {
----            public readonly Foo<T> Foo;
----
----            public Hello (Foo<T> foo)
----            {
----                    this.Foo = foo;
----            }
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-65.cs
index c66cf890104f41a6f1100689df4ee6861795cca7,c66cf890104f41a6f1100689df4ee6861795cca7,c66cf890104f41a6f1100689df4ee6861795cca7,c66cf890104f41a6f1100689df4ee6861795cca7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,56 -1,56 -1,56 -1,56 +1,0 @@@@@
----//-- ex-gen-type-parameter-in-constraint
----
----using System;
----using System.Collections.Generic;
----
----// A constraint may involve type parameters 
----// A type may have multiple constraints 
----
----struct ComparablePair<T,U> : IComparable<ComparablePair<T,U>>
----  where T : IComparable<T> 
----  where U : IComparable<U> {
----  public readonly T Fst;
----  public readonly U Snd;
----  
----  public ComparablePair(T fst, U snd) {
----    Fst = fst; Snd = snd;
----  }
----  
----  // Lexicographic ordering
----  public int CompareTo(ComparablePair<T,U> that) {
----    int firstCmp = this.Fst.CompareTo(that.Fst);
----    return firstCmp != 0 ? firstCmp : this.Snd.CompareTo(that.Snd);
----  }
----
----  public bool Equals(ComparablePair<T,U> that) {
----    return this.Fst.Equals(that.Fst) && this.Snd.Equals(that.Snd);
----  }
----
----  public override String ToString() {
----    return "(" + Fst + ", " + Snd + ")";
----  }
----}
----
----// Sorting soccer world champions by country and year
----
----class MyTest {
----    static void Test ()
----    {
----            new ComparablePair<string,int>("Brazil", 2002);
----    }
----
----  public static void Main(string[] args) {
----    List<ComparablePair<string,int>> lst 
----      = new List<ComparablePair<string,int>>();
----    lst.Add(new ComparablePair<String,int>("Brazil", 2002));
----    lst.Add(new ComparablePair<String,int>("Italy", 1982));
----    lst.Add(new ComparablePair<String,int>("Argentina", 1978 ));
----    lst.Add(new ComparablePair<String,int>("Argentina", 1986 ));
----    lst.Add(new ComparablePair<String,int>("Germany", 1990));
----    lst.Add(new ComparablePair<String,int>("Brazil", 1994));
----    lst.Add(new ComparablePair<String,int>("France", 1998));
----    // lst.Sort();
----    foreach (ComparablePair<String,int> pair in lst) 
----      Console.WriteLine(pair);
----  }
----}
diff --cc mcs/tests/gen-66.cs
index 0c763ad0c89c1fb8b0491669361384738d4bba62,0c763ad0c89c1fb8b0491669361384738d4bba62,0c763ad0c89c1fb8b0491669361384738d4bba62,0c763ad0c89c1fb8b0491669361384738d4bba62..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----using System;
----
----public class Foo<T>
----{
----}
----
----class X
----{
----    static void Main ()
----    {
----            Console.WriteLine (typeof (Foo<>));
----    }
----}
diff --cc mcs/tests/gen-67.cs
index 43df27f9fa217447a60e2b52486261aa7a962d48,43df27f9fa217447a60e2b52486261aa7a962d48,43df27f9fa217447a60e2b52486261aa7a962d48,43df27f9fa217447a60e2b52486261aa7a962d48..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----class Test
----{
----    public delegate int Foo<T> (T t, T u);
----
----    public void Hello<U> (Foo<U> foo, U u)
----    { }
----}
----
----class X
----{
----    static int Add (int a, int b)
----    {
----            return a + b;
----    }
----
----    static void Main ()
----    {
----            Test test = new Test ();
----            test.Hello<int> (new Test.Foo<int> (Add), 5);
----    }
----}
diff --cc mcs/tests/gen-68.cs
index 22d032b0a6781306a3c7a2e257580b86192fb068,22d032b0a6781306a3c7a2e257580b86192fb068,22d032b0a6781306a3c7a2e257580b86192fb068,22d032b0a6781306a3c7a2e257580b86192fb068..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----namespace Martin
----{
----    public class Foo<T>
----    { }
----}
----
----namespace Baulig
----{
----    using M = Martin;
----
----    class X
----    {
----            static void Main ()
----            {
----                    M.Foo<int> foo;
----            }
----    }
----}
diff --cc mcs/tests/gen-69.cs
index 3305f2e940805c9e03098f2dc7423f9d5f237a93,3305f2e940805c9e03098f2dc7423f9d5f237a93,3305f2e940805c9e03098f2dc7423f9d5f237a93,3305f2e940805c9e03098f2dc7423f9d5f237a93..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----public interface IFoo
----{
----    int GetHashCode ();
----}
----
----public interface IFoo<T>
----{
----    int GetHashCode ();
----}
----
----public class Test<T>
----{
----    public int Foo (IFoo<T> foo)
----    {
----            return foo.GetHashCode ();
----    }
----
----    public int Foo (IFoo foo)
----    {
----            return foo.GetHashCode ();
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-7.cs
index d4f537da1bb35f9a550a17808cb4fb92d12a4dc6,d4f537da1bb35f9a550a17808cb4fb92d12a4dc6,d4f537da1bb35f9a550a17808cb4fb92d12a4dc6,d4f537da1bb35f9a550a17808cb4fb92d12a4dc6..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----class Stack<T> : X
----{
----}
----
----class Test
----{
----}
----
----class X
----{
----    static void Main()
----    {
----    }
----}
diff --cc mcs/tests/gen-70.cs
index 9b2184402dfa1a81b2c3a29057b3b1d4ab0ecfc3,9b2184402dfa1a81b2c3a29057b3b1d4ab0ecfc3,9b2184402dfa1a81b2c3a29057b3b1d4ab0ecfc3,9b2184402dfa1a81b2c3a29057b3b1d4ab0ecfc3..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,27 -1,27 -1,27 -1,27 +1,0 @@@@@
----namespace Martin
----{
----    public class Test<T>
----    {
----            public static int Foo ()
----            {
----                    return 0;
----            }
----    }
----}
----
----class Foo<T>
----{
----    public Foo (int a)
----    { }
----
----    public Foo ()
----            : this (Martin.Test<T>.Foo ())
----    { }
----}
----
----class X
----{
----    static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/gen-71.cs
index b0a7857de69c3dc3a9bd339b6db9a5f861b7c9f6,b0a7857de69c3dc3a9bd339b6db9a5f861b7c9f6,b0a7857de69c3dc3a9bd339b6db9a5f861b7c9f6,b0a7857de69c3dc3a9bd339b6db9a5f861b7c9f6..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,25 -1,25 -1,25 -1,25 +1,0 @@@@@
----using System;
----
----class Foo<T>
----{
----    public T Test<U> (U u)
----            where U : T
----    {
----            return u;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            Foo<X> foo = new Foo<X> ();
----
----            Y y = new Y ();
----            X x = foo.Test<Y> (y);
----    }
----}
----
----class Y : X
----{
----}
diff --cc mcs/tests/gen-72.cs
index 70a346b584f52f0247495ce1717a8d061e85c536,70a346b584f52f0247495ce1717a8d061e85c536,70a346b584f52f0247495ce1717a8d061e85c536,70a346b584f52f0247495ce1717a8d061e85c536..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,78 -1,78 -1,78 -1,78 +1,0 @@@@@
----//-- ex-gen-logger
----//-- ex-gen-struct-pair
----//-- ex-gen-logging-pairs
----// 1.2 alpha
----
----using System;
----
----public class Log<T> {
----  private const int SIZE = 5;
----  private static int instanceCount = 0;
----  private int count = 0;
----  private T[] log = new T[SIZE];
----  public Log() { instanceCount++; }
----  public static int InstanceCount { get { return instanceCount; } }
----  public void Add(T msg) { log[count++ % SIZE] = msg; }
----  public int Count { get { return count; } }
----  public T Last {
----    get { // Return the last log entry, or null if nothing logged yet
----      return count==0 ? default(T) : log[(count-1)%SIZE];
----    }
----    set { // Update the last log entry, or create one if nothing logged yet 
----      if (count==0)
----        log[count++] = value;
----      else
----        log[(count-1)%SIZE] = value;
----    }
----  }    
----  public T[] All {
----    get {
----      int size = Math.Min(count, SIZE);
----      T[] res = new T[size];
----      for (int i=0; i<size; i++)
----        res[i] = log[(count-size+i) % SIZE];
----      return res;
----    }
----  }
----}
----
----class TestLog {
----  class MyTest {
----    public static void Main(String[] args) {
----      Log<String> log1 = new Log<String>();
----      log1.Add("Reboot");
----      log1.Add("Coffee");
----      Log<DateTime> log2 = new Log<DateTime>();
----      log2.Add(DateTime.Now);
----      log2.Add(DateTime.Now.AddHours(1));
----      DateTime[] dts = log2.All;
----      // Printing both logs:
----      foreach (String s in log1.All) 
----    Console.Write("{0}   ", s);
----      Console.WriteLine();
----      foreach (DateTime dt in dts) 
----    Console.Write("{0}   ", dt);
----      Console.WriteLine();
----      TestPairLog();
----    }
----    
----    public static void TestPairLog() {
----      Log<Pair<DateTime,String>> log = new Log<Pair<DateTime,String>>();
----      log.Add(new Pair<DateTime,String>(DateTime.Now, "Tea leaves"));
----      log.Add(new Pair<DateTime,String>(DateTime.Now.AddMinutes(2), "Hot water"));
----      log.Add(new Pair<DateTime,String>(DateTime.Now.AddMinutes(7), "Ready"));
----      Pair<DateTime,String>[] allMsgs = log.All;
----      foreach (Pair<DateTime,String> p in allMsgs) 
----    Console.WriteLine("At {0}: {1}", p.Fst, p.Snd);
----    }
----  }
----}
----
----public struct Pair<T,U> {
----  public readonly T Fst;
----  public readonly U Snd;
----  public Pair(T fst, U snd) {
----    this.Fst = fst; 
----    this.Snd = snd;
----  }
----}
diff --cc mcs/tests/gen-73.cs
index aa7165c727108de88895a28b72437fd26862ce0d,aa7165c727108de88895a28b72437fd26862ce0d,aa7165c727108de88895a28b72437fd26862ce0d,aa7165c727108de88895a28b72437fd26862ce0d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,36 -1,36 -1,36 -1,36 +1,0 @@@@@
----using System;
----using System.Collections;
----using System.Collections.Generic;
----
----class MyList<T> : IEnumerable<T>
----{
----    public IEnumerator<T> GetEnumerator ()
----    {
----            yield break;
----    }
----
----    IEnumerator IEnumerable.GetEnumerator ()
----    {
----            return GetEnumerator ();
----    }
----}
----
----struct Foo<T>
----{
----    public readonly T Data;
----  
----    public Foo (T data)
----    {
----            this.Data = data;
----    }
----}
----
----class X
----{
----    static void Main ()
----    {
----            MyList<Foo<int>> list = new MyList <Foo<int>> ();
----            foreach (Foo<int> foo in list)
----                    ;
----    }
----}
diff --cc mcs/tests/gen-74.cs
index dae2000a3a9bec3c6fa434ea9fd527ef6a8fd872,dae2000a3a9bec3c6fa434ea9fd527ef6a8fd872,dae2000a3a9bec3c6fa434ea9fd527ef6a8fd872,dae2000a3a9bec3c6fa434ea9fd527ef6a8fd872..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,43 -1,43 -1,43 -1,43 +1,0 @@@@@
----using System;
----
----public struct Foo<T>
----{
----    public T Data, Data2;
----
----    public Foo (T a, T b)
----    {
----            this.Data = a;
----            this.Data2 = b;
----    }
----}
----
----public class Test<T>
----{
----    public T Data, Data2;
----
----    public Test (T a, T b)
----    {
----            this.Data = a;
----            this.Data2 = b;
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            Foo<long> foo = new Foo<long> (3, 5);
----            if (foo.Data != 3)
----                    return 1;
----            if (foo.Data2 != 5)
----                    return 2;
----
----            Test<long> test = new Test<long> (3, 5);
----            if (test.Data != 3)
----                    return 3;
----            if (test.Data2 != 5)
----                    return 4;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/gen-75.cs
index 9c7c61b95a121f4a97a217a9ba65457d3349d49c,9c7c61b95a121f4a97a217a9ba65457d3349d49c,9c7c61b95a121f4a97a217a9ba65457d3349d49c,9c7c61b95a121f4a97a217a9ba65457d3349d49c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----public interface IExtensible<T>
----{
----    void AddAll<U> (U item)
----            where U : T;
----}
----
----public class ArrayList<T> : IExtensible<T>
----{
----        void IExtensible<T>.AddAll<U> (U item)
----        { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-76.cs
index 57d0676166db21f7a959b750b53d8a07789e7f53,57d0676166db21f7a959b750b53d8a07789e7f53,57d0676166db21f7a959b750b53d8a07789e7f53,57d0676166db21f7a959b750b53d8a07789e7f53..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,36 -1,36 -1,36 -1,36 +1,0 @@@@@
----using System;
----
----struct Foo<T>
----{
----    public T Data;
----
----    public Foo (T data)
----    {
----            this.Data = data;
----    }
----}
----
----class Test<T>
----{
----    public Foo<T> GetFoo (T data)
----    {
----            return new Foo<T> (data);
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            Test<long> test = new Test<long> ();
----            Foo<long> foo = test.GetFoo (0x800);
----            //
----            // This is a very simple test, just make sure the struct
----            // is returned correctly.  This was broken until recently
----            // and I just fixed it on amd64.
----            if (foo.Data != 0x800)
----                    return 1;
----            return 0;
----    }
----}
----
diff --cc mcs/tests/gen-77.cs
index 4c7da6c8df3ffbcdbe9e1e412c4453d2195e20b1,4c7da6c8df3ffbcdbe9e1e412c4453d2195e20b1,4c7da6c8df3ffbcdbe9e1e412c4453d2195e20b1,4c7da6c8df3ffbcdbe9e1e412c4453d2195e20b1..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----// Compiler options: -r:System
----using System;
----using System.Collections.Generic;
----
----public class X {
----    public static void Main(string[] args)
----    {
----            Collection<int> list = new Collection<int>();
----            list.Add (3);
----            foreach (int i in list) {
----                    Console.WriteLine(i);
----            }
----    }
----}
diff --cc mcs/tests/gen-78.cs
index 4ef3c9b44ff9119d195522d4cdf6415557fdfe5c,4ef3c9b44ff9119d195522d4cdf6415557fdfe5c,4ef3c9b44ff9119d195522d4cdf6415557fdfe5c,4ef3c9b44ff9119d195522d4cdf6415557fdfe5c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----using System;
----using System.Collections;
----
----public class Test
----{
----        public static void Main ()
----        {
----                foreach (object o in new Test ())
----                        Console.WriteLine (o);
----        }
----
----        public IEnumerator GetEnumerator ()
----        {
----                foreach (int i in new ArrayList ())
----                        yield return i;
----        }
----}
diff --cc mcs/tests/gen-79.cs
index 2df3c2fcf8fb3ca841cec94ceb8c76a31b115e25,2df3c2fcf8fb3ca841cec94ceb8c76a31b115e25,2df3c2fcf8fb3ca841cec94ceb8c76a31b115e25,2df3c2fcf8fb3ca841cec94ceb8c76a31b115e25..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,70 -1,70 -1,70 -1,70 +1,0 @@@@@
----namespace A
----{
----    public interface IExtensible<T>
----    {
----            void AddAll<U> (U u)
----                    where U : T;
----    }
----
----    public class ArrayList<T> : IExtensible<T>
----    {
----            void IExtensible<T>.AddAll<U> (U u)
----            {
----                    InsertAll (u);
----            }
----
----            void InsertAll (T t)
----            { }
----    }
----}
----
----namespace B
----{
----    public interface IExtensible<S,T>
----    {
----            void AddAll<U> (U t)
----                    where U : S;
----    }
----
----    public class ArrayList<X,Y> : IExtensible<Y,X>
----    {
----            public void AddAll<Z> (Z z)
----                    where Z : Y
----            {
----                    InsertAll (z);
----            }
----
----            void InsertAll (Y y)
----            { }
----    }
----}
----
----namespace C
----{
----    public interface IExtensible<S>
----    {
----            void AddAll<T> (T t)
----                    where T : S;
----    }
----
----    public class Foo<U>
----    { }
----
----    public class ArrayList<X> : IExtensible<Foo<X>>
----    {
----            public void AddAll<Y> (Y y)
----                    where Y : Foo<X>
----            {
----                    InsertAll (y);
----            }
----
----            void InsertAll (Foo<X> foo)
----            { }
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-8.cs
index 5665e12d404a93f134760bbd50ca639fed21cc0c,5665e12d404a93f134760bbd50ca639fed21cc0c,5665e12d404a93f134760bbd50ca639fed21cc0c,5665e12d404a93f134760bbd50ca639fed21cc0c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----interface I
----{
----    void Hello ();
----}
----
----class Stack<T>
----    where T : I, new ()
----{
----}
----
----class Test
----{
----}
----
----class X
----{
----    static void Main()
----    {
----    }
----}
diff --cc mcs/tests/gen-80.cs
index 57931e1bb9566457374f6ac4c0ccb8a767c57095,57931e1bb9566457374f6ac4c0ccb8a767c57095,57931e1bb9566457374f6ac4c0ccb8a767c57095,57931e1bb9566457374f6ac4c0ccb8a767c57095..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----public interface IFoo<X>
----{ }
----
----public class Test
----{
----    public void Hello<T> (IFoo<T> foo)
----    {
----            InsertAll (foo);
----    }
----
----    public void InsertAll<U> (IFoo<U> foo)
----    { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-81.cs
index abb55d120c10fd4d801f7754a233e95ae1af9f4e,abb55d120c10fd4d801f7754a233e95ae1af9f4e,abb55d120c10fd4d801f7754a233e95ae1af9f4e,abb55d120c10fd4d801f7754a233e95ae1af9f4e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----public class ArrayList<T>
----{
----        void AddAll<U> (U u)
----            where U : T
----        {
----            InsertAll (u);
----        }
----
----    void InsertAll (T t)
----    { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-82.cs
index 0e3fa9bedba58337afcdda729273ce534ec09ccb,0e3fa9bedba58337afcdda729273ce534ec09ccb,0e3fa9bedba58337afcdda729273ce534ec09ccb,0e3fa9bedba58337afcdda729273ce534ec09ccb..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----using System;
----
----public class Queue<T>
----{
----    protected class Enumerator
----    {
----            Queue<T> queue;
----
----            public Enumerator (Queue<T> queue)
----            {
----                    this.queue = queue;
----            }
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-83.cs
index e9a83523ccd4af6c067dbb05d2da23a9c9c803de,e9a83523ccd4af6c067dbb05d2da23a9c9c803de,e9a83523ccd4af6c067dbb05d2da23a9c9c803de,e9a83523ccd4af6c067dbb05d2da23a9c9c803de..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----public class CollectionValueBase<T>
----{
----    public virtual T[] ToArray()
----    {
----            return null;
----    }
----}
----
----public class CollectionBase<T>: CollectionValueBase<T>
----{
----}
----
----public class SequencedBase<T>: CollectionBase<T>
----{
----}
----
----public class ArrayBase<T>: SequencedBase<T>
----{
----    public override T[] ToArray()
----    {
----            return null;
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-84.cs
index c0449b220535fd7e22dbce81dc4ca2185cc74e63,c0449b220535fd7e22dbce81dc4ca2185cc74e63,c0449b220535fd7e22dbce81dc4ca2185cc74e63,c0449b220535fd7e22dbce81dc4ca2185cc74e63..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----namespace HasherBuilder
----{
----    public class ByPrototype<S>
----    {
----            public static IHasher<S> Examine()
----            {
----                    return null;
----            }
----    }
----}
----
----public interface IHasher<T>
----{
----}
----
----public class ArrayList<U>
----{
----    public IHasher<U> GetHasher ()
----    {
----            return HasherBuilder.ByPrototype<U>.Examine();
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
----
diff --cc mcs/tests/gen-85.cs
index 02987da2916188e2a10c0cb07f700d5a97099986,02987da2916188e2a10c0cb07f700d5a97099986,02987da2916188e2a10c0cb07f700d5a97099986,02987da2916188e2a10c0cb07f700d5a97099986..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,32 -1,32 -1,32 -1,32 +1,0 @@@@@
----using System;
----
----public interface IFoo<S>
----{ }
----
----public class ArrayList<T>
----{
----    public virtual int InsertAll (IFoo<T> foo)
----    {
----            return 0;
----    }
----
----        public virtual int InsertAll<U> (IFoo<U> foo)
----            where U : T
----        {
----            return 1;
----        }
----
----    public virtual int AddAll (IFoo<T> foo)
----    {
----            return InsertAll (foo);
----    }
----}
----
----class X
----{
----    static int Main ()
----    {
----            ArrayList<int> list = new ArrayList<int> ();
----            return list.AddAll (null);
----    }
----}
diff --cc mcs/tests/gen-86.cs
index 34f094223d4084700a1b63e0a50e2f5bfdff80a5,34f094223d4084700a1b63e0a50e2f5bfdff80a5,34f094223d4084700a1b63e0a50e2f5bfdff80a5,34f094223d4084700a1b63e0a50e2f5bfdff80a5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,27 -1,27 -1,27 -1,27 +1,0 @@@@@
----public interface IFoo<S>
----{ }
----
----public class ArrayList<T>
----{
----        public virtual int InsertAll (IFoo<T> foo)
----        {
----                return 0;
----        }
----
----        public virtual int InsertAll<U> (IFoo<U> foo)
----                where U : T
----        {
----                return 1;
----        }
----
----        public virtual int AddAll (IFoo<T> foo)
----        {
----                return InsertAll (foo);
----        }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-87.cs
index ab253043357c7ee8ebf37a1b556e65fb99773d6f,ab253043357c7ee8ebf37a1b556e65fb99773d6f,ab253043357c7ee8ebf37a1b556e65fb99773d6f,ab253043357c7ee8ebf37a1b556e65fb99773d6f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,34 -1,34 -1,34 -1,34 +1,0 @@@@@
----namespace C5
----{
----    public class HashedArrayList<T>
----    {
----            public void Test ()
----            {
----                    new HashSet <KeyValuePair<T,int>> (new KeyValuePairHasher<T,int> ());
----            }
----    }
----
----    public class HashSet<T>
----    {
----            public HashSet (IHasher<T> itemhasher)
----            { }
----    }
----
----    public interface IHasher<T>
----    {
----    }
----
----    public struct KeyValuePair<K,V>
----    {
----    }
----
----    public sealed class KeyValuePairHasher<K,V>: IHasher<KeyValuePair<K,V>>
----    {
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-88.cs
index c95c6b50dbbe9831cbf67d45244bcef76e3b3504,c95c6b50dbbe9831cbf67d45244bcef76e3b3504,c95c6b50dbbe9831cbf67d45244bcef76e3b3504,c95c6b50dbbe9831cbf67d45244bcef76e3b3504..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----using System;
----
----public struct KeyValuePair<K,V>
----{
----    public KeyValuePair (K k, V v)
----    { }
----
----    public KeyValuePair (K k)
----    { }
----}
----
----class X
----{
----    static void Main ()
----    {
----            new KeyValuePair<int,long> ();
----    }
----}
diff --cc mcs/tests/gen-89.cs
index 9b379d8b47e214f1d96a737145dd0d5b6ff4db40,9b379d8b47e214f1d96a737145dd0d5b6ff4db40,9b379d8b47e214f1d96a737145dd0d5b6ff4db40,9b379d8b47e214f1d96a737145dd0d5b6ff4db40..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----using System;
----
----class Test<T>
----{
----    public void Foo (T t, out int a)
----    {
----            a = 5;
----    }
----
----    public void Hello (T t)
----    {
----            int a;
----
----            Foo (t, out a);
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-9.cs
index 533b522694dbcbc9cb91d9195fe588fd85a3aa42,533b522694dbcbc9cb91d9195fe588fd85a3aa42,533b522694dbcbc9cb91d9195fe588fd85a3aa42,533b522694dbcbc9cb91d9195fe588fd85a3aa42..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,26 -1,26 -1,26 -1,26 +1,0 @@@@@
----using System;
----
----interface I
----{
----    void Hello ();
----}
----
----class Stack<T>
----    where T : ICloneable
----{
----    public object Test (T t)
----    {
----            return t.Clone ();
----    }
----}
----
----class Test
----{
----}
----
----class X
----{
----    static void Main()
----    {
----    }
----}
diff --cc mcs/tests/gen-90.cs
index 8ba94c1427edbf0427fb071d754d72471500c79b,8ba94c1427edbf0427fb071d754d72471500c79b,8ba94c1427edbf0427fb071d754d72471500c79b,8ba94c1427edbf0427fb071d754d72471500c79b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----using System;
----
----public abstract class Foo<T>
----{
----    public virtual T InsertAll<U> (U u)
----            where U : T
----    {
----            return u;
----    }
----}
----
----public class Bar<T> : Foo<T>
----{
----    public override T InsertAll<U> (U u)
----    {
----            return u;
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-91.cs
index 574520fbb7063a0c97206f2e2ef47f1f4bddaa89,574520fbb7063a0c97206f2e2ef47f1f4bddaa89,574520fbb7063a0c97206f2e2ef47f1f4bddaa89,574520fbb7063a0c97206f2e2ef47f1f4bddaa89..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----using System;
----
----public class Foo<T>
----{
----    Node node;
----
----    public Node Test<V> ()
----    {
----            return node;
----    }
----
----    public class Node
----    { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-92.cs
index 19a596476d8aaf6c143345e94ee81b27c65d6388,19a596476d8aaf6c143345e94ee81b27c65d6388,19a596476d8aaf6c143345e94ee81b27c65d6388,19a596476d8aaf6c143345e94ee81b27c65d6388..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,47 -1,47 -1,47 -1,47 +1,0 @@@@@
----using System;
----
----public class Element<T>
----{
----    public readonly T Item;
----
----    public Element (T item)
----    {
----            this.Item = item;
----    }
----
----    public void GetItem (out T retval)
----    {
----            retval = Item;
----    }
----
----    public T GetItem (int a, ref T data)
----    {
----            return Item;
----    }
----
----    public void SetItem (T data)
----    { }
----}
----
----public class Foo<T>
----{
----    Element<Node> element;
----
----    public Node Test ()
----    {
----            Node node = element.Item;
----            element.GetItem (out node);
----            element.SetItem (node);
----            return element.GetItem (3, ref node);
----    }
----
----    public class Node
----    {
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-93.cs
index b9f4b614e7368af67624c3ee7eff78e89fd3d039,b9f4b614e7368af67624c3ee7eff78e89fd3d039,b9f4b614e7368af67624c3ee7eff78e89fd3d039,b9f4b614e7368af67624c3ee7eff78e89fd3d039..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,31 -1,31 -1,31 -1,31 +1,0 @@@@@
----using System;
----
----public class Foo<T>
----{
----    public readonly T Item;
----
----    public Foo (T item)
----    {
----            this.Item = item;
----    }
----
----    static void maketreer (out Node rest)
----    {
----            rest = new Node ();
----    }
----
----    class Node
----    { }
----
----    public void Hello<U> ()
----    {
----            Foo<U>.Node node;
----            Foo<U>.maketreer (out node);
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-94.cs
index 8f1cdcef27746879e97af1fc6bda4df215438777,8f1cdcef27746879e97af1fc6bda4df215438777,8f1cdcef27746879e97af1fc6bda4df215438777,8f1cdcef27746879e97af1fc6bda4df215438777..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----public class LinkedList<T>
----{
----    protected class Node
----    { }
----}
----
----public class HashedLinkedList<T> : LinkedList<T>
----{
----    Node node;
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-95.cs
index 74f501f289e47f2b35b504e8b8736c85e05de222,74f501f289e47f2b35b504e8b8736c85e05de222,74f501f289e47f2b35b504e8b8736c85e05de222,74f501f289e47f2b35b504e8b8736c85e05de222..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,44 -1,44 -1,44 -1,44 +1,0 @@@@@
----using System;
----
----public interface IDirectedEnumerable<T>
----{
----    IDirectedEnumerable<T> Backwards();
----}
----
----public interface IDirectedCollectionValue<T> : IDirectedEnumerable<T>
----{
----    new IDirectedCollectionValue<T> Backwards();
----}
----
----public class GuardedCollectionValue<T> : IDirectedCollectionValue<T>
----{
----    IDirectedEnumerable<T> IDirectedEnumerable<T>.Backwards ()
----    {
----            return this;
----    }
----
----    public IDirectedCollectionValue<T> Backwards ()
----    {
----            return this;
----    }
----}
----
----public interface ISequenced<T> : IDirectedCollectionValue<T>
----{
----}
----
----public class GuardedSequenced<T>
----{
----    ISequenced<T> sequenced;
----
----    public IDirectedCollectionValue<T> Test ()
----    {
----            return sequenced.Backwards();
----    }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-96.cs
index 65d17327ec77d9d706d312bb388464ec4c99e787,65d17327ec77d9d706d312bb388464ec4c99e787,65d17327ec77d9d706d312bb388464ec4c99e787,65d17327ec77d9d706d312bb388464ec4c99e787..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,27 -1,27 -1,27 -1,27 +1,0 @@@@@
----using System;\r
----\r
----class Foo<T>\r
----{ }\r
----\r
----class Test\r
----{\r
----    static void Hello<T> (Foo<T>[] foo, int i)\r
----    {\r
----            Foo<T> element = foo [0];\r
----            Console.WriteLine (element);\r
----            if (i > 0)\r
----                    Hello<T> (foo, i - 1);\r
----    }\r
----\r
----    public static void Quicksort<U> (Foo<U>[] arr)\r
----    {\r
----            Hello<U> (arr, 1);\r
----    }\r
----\r
----    static void Main ()\r
----    {\r
----            Foo<int>[] foo = new Foo<int> [1];\r
----            foo [0] = new Foo<int> ();\r
----            Quicksort (foo);\r
----    }\r
----}\r
diff --cc mcs/tests/gen-97.cs
index cc748cd4a9e6cd69ecf67f1cf3ec8b9efae0b24a,cc748cd4a9e6cd69ecf67f1cf3ec8b9efae0b24a,cc748cd4a9e6cd69ecf67f1cf3ec8b9efae0b24a,cc748cd4a9e6cd69ecf67f1cf3ec8b9efae0b24a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,40 -1,40 -1,40 -1,40 +1,0 @@@@@
----public interface IFoo
----{
----    void Test<T> ();
----
----    void Test<U,V> ();
----}
----
----public class Foo : IFoo
----{
----    void IFoo.Test<X> ()
----    { }
----
----    void IFoo.Test<Y,Z> ()
----    { }
----}
----
----public interface IBar<T>
----{
----    void Test ();
----}
----
----public interface IBar<U,V>
----{
----    void Test ();
----}
----
----public class Bar<X,Y,Z> : IBar<X>, IBar<Y,Z>
----{
----    void IBar<X>.Test ()
----    { }
----
----    void IBar<Y,Z>.Test ()
----    { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
diff --cc mcs/tests/gen-98-dll.cs
index 98b5d06ad6a2e67d79248a6937183948166c6985,98b5d06ad6a2e67d79248a6937183948166c6985,98b5d06ad6a2e67d79248a6937183948166c6985,98b5d06ad6a2e67d79248a6937183948166c6985..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----// Compiler options: -t:library
----
----public interface IFoo
----{
----    void Test<T> ();
----
----    void Test<U,V> ();
----}
----
----public interface IBar<T>
----{
----    void Test ();
----}
----
----public interface IBar<U,V>
----{
----    void Test ();
----}
diff --cc mcs/tests/gen-98-exe.cs
index 7bd890214453715e3e92963006ca5eba095537d9,7bd890214453715e3e92963006ca5eba095537d9,7bd890214453715e3e92963006ca5eba095537d9,7bd890214453715e3e92963006ca5eba095537d9..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----// Compiler options: /r:gen-98-dll.dll
----public class Foo : IFoo
----{
----    void IFoo.Test<X> ()
----    { }
----
----    void IFoo.Test<Y,Z> ()
----    { }
----}
----
----public class Bar<X,Y,Z> : IBar<X>, IBar<Y,Z>
----{
----    void IBar<X>.Test ()
----    { }
----
----    void IBar<Y,Z>.Test ()
----    { }
----}
----
----class X
----{
----    static void Main ()
----    { }
----}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fc54c2a3dbeb8f87dca6378440ed6ff2740f5173
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,9 @@@@@
++++class Stack < type > {
++++
++++}
++++
++++class Boot {
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d2ea790320e9e7bd5485cf9ae155e656f8b834c3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++class Cell <X> {
++++    X value;
++++
++++}
++++
++++class D {
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8a2e5377c492e4f808ebed6ae0ff9da6269fb932
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++class Stack<T> {
++++}
++++
++++class Test {
++++}
++++
++++class T {
++++    Stack<Test> a;
++++
++++    static void Main()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..238c461246d907514a84f75358e1ef60797d8538
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++class Stack<T> {
++++}
++++
++++class Test {
++++}
++++
++++class T {
++++    public void Foo (Stack<Test> a)
++++    { }
++++
++++    static void Main()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b3ecdeb70faddc52f281b1ff93533eddef0d0f89
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,12 @@@@@
++++class Stack<T> {
++++}
++++
++++class Test {
++++}
++++
++++class T {
++++    static void Main()
++++    {
++++            Stack<Test> a;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5faf6e91ebc6dff007ac0143c3faf65ec1ce2d47
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,34 @@@@@
++++// Using an array of a type parameter.
++++
++++class Stack<T>
++++{
++++    int size;
++++    T[] data;
++++
++++    public Stack ()
++++    {
++++            data = new T [200];
++++    }
++++
++++    public void Push (T item)
++++    {
++++            data [size++] = item;
++++    }
++++
++++    public T Pop ()
++++    {
++++            return data [--size];
++++    }
++++
++++    public void Hello (T t)
++++    {
++++            System.Console.WriteLine ("Hello: {0}", t);
++++    }
++++}
++++
++++class Test
++++{
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4f537da1bb35f9a550a17808cb4fb92d12a4dc6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++class Stack<T> : X
++++{
++++}
++++
++++class Test
++++{
++++}
++++
++++class X
++++{
++++    static void Main()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5665e12d404a93f134760bbd50ca639fed21cc0c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++interface I
++++{
++++    void Hello ();
++++}
++++
++++class Stack<T>
++++    where T : I, new ()
++++{
++++}
++++
++++class Test
++++{
++++}
++++
++++class X
++++{
++++    static void Main()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..533b522694dbcbc9cb91d9195fe588fd85a3aa42
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,26 @@@@@
++++using System;
++++
++++interface I
++++{
++++    void Hello ();
++++}
++++
++++class Stack<T>
++++    where T : ICloneable
++++{
++++    public object Test (T t)
++++    {
++++            return t.Clone ();
++++    }
++++}
++++
++++class Test
++++{
++++}
++++
++++class X
++++{
++++    static void Main()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..26b88153a5153eac5eaade8e69331921f2462e66
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,38 @@@@@
++++// Type parameters with constraints: check whether we can invoke
++++// things on the constrained type.
++++
++++using System;
++++
++++interface I
++++{
++++    void Hello ();
++++}
++++
++++class J
++++{
++++    public void Foo ()
++++    {
++++            Console.WriteLine ("Foo!");
++++    }
++++}
++++
++++class Stack<T>
++++    where T : J, I
++++{
++++    public void Test (T t)
++++    {
++++            t.Hello ();
++++            t.Foo ();
++++    }
++++}
++++
++++class Test
++++{
++++}
++++
++++class X
++++{
++++    static void Main()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1dbda38aef00a85abe96ea714827acce09ac61d0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++class Stack<S>
++++{
++++    public void Hello (S s)
++++    { }
++++}
++++
++++class X
++++{
++++    Stack<int> stack;
++++
++++    void Test ()
++++    {
++++            stack.Hello (3);
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4ef97c77356942ebfe17f722ebe14a3849dadff5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// A generic type definition may have another generic type
++++// definition as its parent.
++++
++++class Stack<S>
++++{
++++    public void Hello (S s)
++++    { }             
++++}
++++
++++class Test<T> : Stack<T>
++++{
++++    public void Foo (T t)
++++    { }
++++}
++++
++++class X
++++{
++++    Test<int> test;
++++
++++    void Test ()
++++    {
++++            test.Foo (4);
++++            test.Hello (3);
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e535bbe394e256d92c948d988436c23415457955
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,7 @@@@@
++++// Compiler options: -t:library
++++
++++public class Stack<S>
++++{
++++    public void Hello (S s)
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a248e61a67581fc861978530e3e5b127d72641e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++// Compiler options: -r:gtest-013-lib.dll
++++
++++public class X
++++{
++++    Stack<int> stack;
++++
++++    void Test ()
++++    {
++++            stack.Hello (3);
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..69b232d21fd2dbc042e0fc45492d9c740140ace5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++public class Stack<S>
++++{
++++    public Stack (S s)
++++    { }
++++
++++    public void Push (S s)
++++    { }
++++}
++++
++++public class X
++++{
++++    static void Main ()
++++    {
++++            Stack<int> s1 = new Stack<int> (3);
++++            s1.Push (4);
++++
++++            Stack<string> s2 = new Stack<string> ("Hello");
++++            s2.Push ("Test");
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8f4e089e27dfb4438431d05282bbb0af4661b623
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++// Very simple example of a generic method.
++++
++++class Stack<S>
++++{
++++    public static void Hello<T,U> (S s, T t, U u)
++++    {
++++            U v = u;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bf6b51bedd775506d0566f105557c53dfa301aac
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++// A generic method may also use the type parameters
++++// from its enclosing type.
++++
++++class Stack<S>
++++{
++++    public static void Hello<T> (S s, T t)
++++    { }
++++}
++++
++++class X
++++{
++++    Stack<int> stack;
++++
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f128e6228630269468c013860177ef7d0386c480
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++// Compiler options: -t:library
++++
++++public class Stack
++++{
++++    public Stack ()
++++    { }
++++
++++    public void Hello<T> (T t)
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b04dc471140dedad6fb0381ed1612c358f3da02e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@
++++// Compiler options: -r:gtest-017-lib.dll
++++
++++public class X
++++{
++++    public static void Foo (Stack stack)
++++    {
++++            stack.Hello<string> ("Hello World");
++++    }
++++
++++    static void Main ()
++++    {
++++            Stack stack = new Stack ();
++++            Foo (stack);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..92f38ce86cf00b08f94d4be4505a08808493e9ed
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++public class Stack
++++{
++++    public Stack ()
++++    { }
++++
++++    public void Hello<T> (T t)
++++    { }
++++}
++++
++++public class X
++++{
++++    public static void Foo (Stack stack)
++++    {
++++            stack.Hello<string> ("Hello World");
++++    }
++++
++++    static void Main ()
++++    {
++++            Stack stack = new Stack ();
++++            Foo (stack);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..89bfba5004a94ac8440312aee07aabd7dd57c105
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// A very simple generic interface
++++
++++public interface IEnumerator<T> {
++++    T Current { get; } 
++++    bool MoveNext();
++++    void Reset();
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8f4992d5efd121fc8b9cf2807cf89dce0d15ed7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++struct Stack<S>
++++{
++++    public void Hello (S s)
++++    { }
++++}
++++
++++class X
++++{
++++    Stack<int> stack;
++++
++++    void Test ()
++++    {
++++            stack.Hello (3);
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c57b3df11245a1e55a96445a38c96b0ef8cf5a84
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,68 @@@@@
++++// Testing the default value expressions (14.5.13)
++++
++++using System;
++++
++++class Foo<T>
++++{
++++    T[] t;
++++
++++    public Foo (int n)
++++    {
++++            t = new T [n];
++++            for (int i = 0; i < n; i++)
++++                    t [i] = default (T);
++++    }
++++
++++    public void Test ()
++++    {
++++            X.Print (t [0]);
++++    }
++++}
++++
++++class Bar<T>
++++{
++++    public void Test ()
++++    {
++++            X.Print (default (X));
++++            X.Print (default (T));
++++            X.Print (default (S));
++++    }
++++}
++++
++++struct S
++++{
++++    public readonly string Hello;
++++
++++    S (string hello)
++++    {
++++            this.Hello = hello;
++++    }
++++
++++    public override string ToString ()
++++    {
++++            return String.Format ("S({0})", Hello);
++++    }
++++
++++}
++++
++++class X
++++{
++++    public static void Print (object obj)
++++    {
++++            if (obj == null)
++++                    Console.WriteLine ("NULL");
++++            else
++++                    Console.WriteLine ("OBJECT: {0} {1}", obj, obj.GetType ());
++++    }
++++
++++    static void Main ()
++++    {
++++            Foo<string> a = new Foo<string> (4);
++++            a.Test ();
++++
++++            Bar<int> b = new Bar<int> ();
++++            b.Test ();
++++            Bar<X> c = new Bar<X> ();
++++            c.Test ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1a7df651723ceae8803eb425baa664deb2b5324a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++// A non-generic type may have a closed constructed type as its parent
++++
++++class Foo<T>
++++{
++++    public void Hello ()
++++    { }
++++
++++    public void World (T t)
++++    {
++++            Hello ();
++++    }
++++}
++++
++++class Bar : Foo<int>
++++{
++++    public void Test ()
++++    {
++++            Hello ();
++++            World (4);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Bar bar = new Bar ();
++++            bar.Test ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c4c8b6a03ebc693688bf6fbf51a0aae758098b73
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++class Foo<T>
++++{
++++    public void Hello ()
++++    { }
++++
++++    public void World (T t)
++++    {
++++            Hello ();
++++    }
++++}
++++
++++//
++++// This is some kind of a `recursive' declaration:
++++//
++++// Note that we're using the class we're currently defining (Bar)
++++// as argument of its parent.
++++//
++++// Is is important to run the resulting executable since this is
++++// both a test for the compiler and the runtime.
++++//
++++
++++class Bar : Foo<Bar>
++++{
++++    public void Test ()
++++    {
++++            Hello ();
++++            World (this);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..af7f93f37c5712f9d84feb38443f3fd14f955e98
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++class Foo<T>
++++{
++++    public Foo ()
++++    { }
++++
++++    public void Hello (T t)
++++    {
++++            // We're boxing the type parameter `T' to an object here.
++++            Whatever (t);
++++    }
++++
++++    public void Whatever (object o)
++++    {
++++            System.Console.WriteLine (o.GetType ());
++++    }
++++}
++++
++++class X
++++{
++++    static void Test (Foo<int> foo)
++++    {
++++            foo.Hello (4);
++++    }
++++
++++    static void Main ()
++++    {
++++            Foo<int> foo = new Foo<int> ();
++++            Test (foo);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f4e7b42bcd71edc6b446d6279456ec787c425e99
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++class Foo
++++{
++++    public Foo ()
++++    { }
++++
++++    public void Hello<T> (T t)
++++    {
++++            // We're boxing the type parameter `T' to an object here.
++++            Whatever (t);
++++    }
++++
++++    public void Whatever (object o)
++++    {
++++            System.Console.WriteLine (o.GetType ());
++++    }
++++}
++++
++++class X
++++{
++++    static void Test (Foo foo)
++++    {
++++            foo.Hello<int> (531);
++++    }
++++
++++    static void Main ()
++++    {
++++            Foo foo = new Foo ();
++++            Test (foo);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..039708680d487e8907b3748896fae720d4d0644d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++// Test access to class fields outside the generic type declaration.
++++
++++class Foo<T>
++++{
++++    public T Hello;
++++
++++    public Foo ()
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Foo<int> foo = new Foo<int> ();
++++            foo.Hello = 9;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4fdf4fd24c123350d196d29d67b279f04ebff61d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,34 @@@@@
++++// A generic type declaration may have a non-generic base type.
++++
++++class TheBase
++++{
++++    public void BaseFunc ()
++++    { }
++++}
++++
++++class Stack<S> : TheBase
++++{
++++    public void Hello (S s)
++++    { }             
++++}
++++
++++class Test<T> : Stack<T>
++++{
++++    public void Foo (T t)
++++    { }
++++}
++++
++++class X
++++{
++++    Test<int> test;
++++
++++    void Test ()
++++    {
++++            test.Foo (4);
++++            test.Hello (3);
++++            test.BaseFunc ();
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f603b9bffc246ca32c22ef67d2202a77b7046eb6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++class Stack<T>
++++{
++++    T t;
++++
++++    public Stack (T t)
++++    {
++++            this.t = t;
++++    }
++++
++++    public object Test ()
++++    {
++++            // Boxing the type parameter `T' to an object.
++++            return t;
++++    }
++++}
++++
++++class X
++++{
++++    public static object Test (Stack<int> stack)
++++    {
++++            return stack.Test ();
++++    }
++++
++++    static void Main ()
++++    {
++++            Stack<int> stack = new Stack<int> (9);
++++            System.Console.WriteLine (Test (stack));
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6194603a4fb9e673840e875b42a5ea91c771c900
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,25 @@@@@
++++class Stack<T>
++++{
++++    T[] t;
++++
++++    public Stack (int n)
++++    {
++++            t = new T [n];
++++    }
++++
++++    public object Test ()
++++    {
++++            // Boxing the type parameter to an object; note that we're
++++            // an array !
++++            return t;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Stack<int> stack = new Stack<int> (5);
++++            System.Console.WriteLine (stack.Test ());
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..29f1082bc67744175c72dff3f24ce03144a12cd2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++// Note how the order of type parameters is different
++++// in the base class.
++++
++++class Foo<T>
++++{
++++    public Foo ()
++++    { }
++++
++++    public void Hello (T t)
++++    { }
++++}
++++
++++class Bar<T,U> : Foo<U>
++++{
++++    public Bar ()
++++    { }
++++
++++    public void Test (T t, U u)
++++    { }
++++}
++++
++++class X
++++{
++++    static void Test (Bar<int,string> bar)
++++    {
++++            bar.Hello ("Test");
++++            bar.Test (7, "Hello");
++++    }
++++
++++    static void Main ()
++++    {
++++            Bar<int,string> bar = new Bar<int,string> ();
++++            Test (bar);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50634094f84c91b98e587c4cbf5b4b8f7665c24b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -t:library
++++
++++public class Foo<T>
++++{
++++    public void Hello (T t)
++++    { }
++++}
++++
++++public class Bar<T,U> : Foo<U>
++++{
++++    public void Test (T t, U u)
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b5acef437a40be41929058c49a73785172f245db
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -r:gtest-031-lib.dll
++++
++++public class X
++++{
++++    public static void Test (Bar<int,string> bar)
++++    {
++++            bar.Hello ("Test");
++++            bar.Test (7, "Hello");
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1b554a5f5fcee648dc93899286d26c9c10ae03bd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++// Generic interfaces
++++
++++interface Foo<S>
++++{
++++    void Hello (S s);
++++}
++++
++++interface Bar<T,U> : Foo<U>
++++{
++++    void Test (T t, U u);
++++}
++++
++++class X
++++{
++++    static void Test (Bar<int,string> bar)
++++    {
++++            bar.Hello ("Test");
++++            bar.Test (7, "Hello");
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b64d72f261717ad75cc2c29be003904f1bc87d2d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++// Generic interfaces
++++
++++interface Foo<R,S>
++++{
++++    void Hello (R r, S s);
++++}
++++
++++interface Bar<T,U,V> : Foo<V,float>
++++{
++++    void Test (T t, U u, V v);
++++}
++++
++++class X
++++{
++++    static void Test (Bar<long,int,string> bar)
++++    {
++++            bar.Hello ("Test", 3.14F);
++++            bar.Test (512, 7, "Hello");
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7df2d55f3d00026d2e4bf4f52b2f55920c7e9241
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++class Foo<T>
++++{ }
++++
++++class Stack<T>
++++{ }
++++
++++//
++++// We may use a constructed type `Stack<T>' instead of
++++// just a type parameter.
++++//
++++
++++class Bar<T> : Foo<Stack<T>>
++++{ }
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..06f1a69081a4229f7797700e8554ed4a0492d337
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@
++++// May use a constructed type as constraint.
++++
++++class Test<T>
++++{ }
++++
++++class Foo<T>
++++    where T : Test<T>
++++{ }
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1cf8e8b0e3fc441a36e2c8c1f869af62b952606e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++//
++++// This is another "important" test: it checks whether we set
++++// TypeContainer.CurrentType correctly when compiling the
++++// declaration of `Stack'.
++++//
++++
++++class Stack<T>
++++{
++++    //
++++    // This must be encoded as a TypeSpec (Stack<!0>) and
++++    // not as a TypeDef.
++++    //
++++    // PEVerify the resulting executable on Windows to make sure !
++++    //
++++    void Hello (Stack<T> stack)
++++    {
++++    }
++++
++++    void Test ()
++++    {
++++            Hello (this);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..88eba8e1a1efa586d7428f8dc4728f3cd767a9a9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,41 @@@@@
++++//
++++// Check whether we're correctly handling `this'.
++++//
++++//
++++
++++public class Foo<T,U>
++++{
++++    public void Hello (Foo<T,U> foo)
++++    {
++++    }
++++
++++    public virtual void Test ()
++++    {
++++            //
++++            // Again, this must be encoded as a TypeSpec (Foo<!0,!1>)
++++            // instead of a TypeDef.
++++            Hello (this);
++++    }
++++}
++++
++++public class Bar<T> : Foo<T,long>
++++{
++++    public void Test (Foo<T,long> foo)
++++    {
++++            Hello (foo);
++++    }
++++}
++++
++++public class Baz<T> : Foo<T,string>
++++{
++++    public override void Test ()
++++    {
++++            Hello (this);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c39eb3db6781ea75ce2884d0c58b21f188837911
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,61 @@@@@
++++//
++++// Another important test: nested generic types.
++++//
++++
++++using System;
++++
++++class Queue<T>
++++{
++++    public Queue (T first, T second)
++++    {
++++            head = new Node<T> (null, second);
++++            head = new Node<T> (head, first);
++++    }
++++
++++    protected Node<T> head;
++++
++++    protected Node<T> GetFoo ()
++++    {
++++            return head;
++++    }
++++
++++    protected Node<T> Foo {
++++            get {
++++                    return GetFoo ();
++++            }
++++    }
++++
++++    protected void Test (T t)
++++    {
++++            Console.WriteLine (t);
++++    }
++++
++++    public void Test ()
++++    {
++++            Test (head.Item);
++++            Test (head.Next.Item);
++++            Test (GetFoo ().Item);
++++            Test (Foo.Item);
++++    }
++++
++++    protected class Node<U>
++++    {
++++            public readonly U Item;
++++            public readonly Node<U> Next;
++++
++++            public Node (Node<U> next, U item)
++++            {
++++                    this.Next = next;
++++                    this.Item = item;
++++            }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Queue<int> queue = new Queue<int> (5, 9);
++++            queue.Test ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..24d3d62f668be3c572a7e32680f7f32232d1b3b1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,58 @@@@@
++++//
++++// Important test for the runtime: check whether we're correctly
++++// creating the vtable for nested types.
++++//
++++
++++using System;
++++
++++interface IMonkey<T>
++++{
++++    T Jump ();
++++}
++++
++++class Zoo<T>
++++{
++++    T t;
++++
++++    public Zoo (T t)
++++    {
++++            this.t = t;
++++    }
++++
++++    public T Name {
++++            get { return t; }
++++    }
++++
++++    public IMonkey<U> GetTheMonkey<U> (U u)
++++    {
++++            return new Monkey<T,U> (this, u);
++++    }
++++
++++    public class Monkey<V,W> : IMonkey<W>
++++    {
++++            public readonly Zoo<V> Zoo;
++++            public readonly W Data;
++++
++++            public Monkey (Zoo<V> zoo, W data)
++++            {
++++                    this.Zoo = zoo;
++++                    this.Data = data;
++++            }
++++
++++            public W Jump ()
++++            {
++++                    Console.WriteLine ("Monkey {0} from {1} jumping!", Data, Zoo.Name);
++++                    return Data;
++++            }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Zoo<string> zoo = new Zoo<string> ("Boston");
++++            IMonkey<float> monkey = zoo.GetTheMonkey<float> (3.14F);
++++            monkey.Jump ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bcaeef3d0c901ce2108bd5f5cc2e25863ec438d5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,117 @@@@@
++++public interface INode<T>
++++{
++++    void Hello (T t);
++++}
++++
++++public class Stack<T>
++++{
++++    public T TheData;
++++    public readonly Foo<T> TheFoo;
++++
++++    public Stack (T t)
++++    {
++++            this.TheData = t;
++++            this.TheFoo = new Foo<T> (t);
++++    }
++++
++++    public INode<T> GetNode ()
++++    {
++++            return new Node (this);
++++    }
++++
++++    public Foo<T> GetFoo (T t)
++++    {
++++            return new Foo<T> (t);
++++    }
++++
++++    public Bar<T> GetBar (T t)
++++    {
++++            return new Bar<T> (t);
++++    }
++++
++++    protected class Node : INode<T>
++++    {
++++            public readonly Stack<T> Stack;
++++
++++            public Node (Stack<T> stack)
++++            {
++++                    this.Stack = stack;
++++            }
++++
++++            public void Hello (T t)
++++            {
++++            }
++++    }
++++
++++    public class Foo<T>
++++    {
++++            public readonly T Data;
++++
++++            public Bar<T> GetBar ()
++++            {
++++                    return new Bar<T> (Data);
++++            }
++++
++++            public Foo (T t)
++++            {
++++                    this.Data = t;
++++            }
++++    }
++++
++++    public class Bar<U>
++++    {
++++            public readonly U Data;
++++
++++            public Bar (U u)
++++            {
++++                    this.Data = u;
++++            }
++++
++++            public Foo<T> GetFoo (Stack<T> stack)
++++            {
++++                    return stack.TheFoo;
++++            }
++++
++++            public class Baz<V>
++++            {
++++                    public readonly V Data;
++++
++++                    public Foo<T> GetFoo (Stack<T> stack)
++++                    {
++++                            return new Foo<T> (stack.TheData);
++++                    }
++++
++++                    public Bar<V> GetBar ()
++++                    {
++++                            return new Bar<V> (Data);
++++                    }
++++
++++                    public Baz (V v)
++++                    {
++++                            this.Data = v;
++++                    }
++++            }
++++    }
++++
++++    public void Test ()
++++    {
++++            Stack<T>.Foo<T> foo1 = GetFoo (TheData);
++++            Foo<T> foo2 = GetFoo (TheData);
++++
++++            Stack<long>.Foo<T> foo3 = new Stack<long>.Foo<T> (TheData);
++++            Stack<long>.Foo<float> foo4 = new Stack<long>.Foo<float> (3.14F);
++++
++++            Foo<double> foo5 = new Foo<double> (3.14);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Stack<int> stack = new Stack<int> (1);
++++            INode<int> node = stack.GetNode ();
++++            Stack<int>.Foo<int> foo = stack.GetFoo (7);
++++            Stack<int>.Bar<int> bar = stack.GetBar (8);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1f778a5264185084b4868e6f14b1204f395f6d0a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++// We may use type parameters as `params' type.
++++
++++class Stack<T>
++++{
++++    public void Hello (int a, params T[] args)
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Stack<string> stack = new Stack<string> ();
++++            stack.Hello (1, "Hello", "World");
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7862bacd3d8b51527efe2a6a70a7d3b4693426c1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,62 @@@@@
++++// Compare this to gcs0695-*.cs: these are the allowed cases.
++++
++++namespace A
++++{
++++    interface I<X>
++++    { }
++++
++++    interface J<X,Y> : I<X>
++++    { }
++++
++++    class A<X> : I<X>, I<A<X>>
++++    { }
++++
++++    class B<X> : I<B<X>>, I<X>, I<A<X>>
++++    { }
++++
++++    class C<X> : I<int>, I<A<X>>
++++    { }
++++
++++    class D<X> : I<A<float>>, I<B<X>>
++++    { }
++++
++++    class E<X,Y> : J<X,Y>, J<I<X>,I<Y>>
++++    { }
++++
++++    class F<X> : J<X,I<X>>, J<X,X>
++++    { }
++++}
++++
++++// bug #69057
++++namespace B
++++{
++++    struct KeyValuePair<K,V>
++++    { }
++++
++++    interface ITest<T>
++++    { }
++++
++++    interface ITest2<K,V> : ITest<KeyValuePair<K,V>>
++++    { }
++++
++++    class MyTest<K,V> : ITest2<K,V>, ITest<KeyValuePair<K,V>>
++++    { }
++++}
++++
++++// bug #58303
++++namespace C
++++{
++++    class S <K> { }
++++
++++    interface Z<T> { }
++++
++++    interface I<K> : Z<S<K>> { }
++++
++++    class C <K> : I<K>, Z<S<K>> { }
++++}
++++
++++class Test
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4d3c9180be2e8f7a0bad60702e6bbe544a35098f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,79 @@@@@
++++// Static fields in generic types: this is a runtime/JIT-only test
++++//
++++// We need to make sure that we're instantiating each closed generic
++++// type (ie. "Test<int>") only once.
++++
++++using System;
++++
++++public class Test<T>
++++{
++++    public static int Count;
++++
++++    public void Foo ()
++++    {
++++            Count++;
++++    }
++++
++++    public int GetCount ()
++++    {
++++            return Count;
++++    }
++++}
++++
++++class X
++++{
++++    static int DoTheTest<T> ()
++++    {
++++            Test<T> test = new Test<T> ();
++++
++++            test.Foo ();
++++            if (test.GetCount () != 1)
++++                    return 1;
++++            if (Test<T>.Count != 1)
++++                    return 2;
++++
++++            test.Foo ();
++++            if (test.GetCount () != 2)
++++                    return 3;
++++            if (Test<T>.Count != 2)
++++                    return 4;
++++
++++            test.Foo ();
++++            if (test.GetCount () != 3)
++++                    return 5;
++++            if (Test<T>.Count != 3)
++++                    return 6;
++++
++++            return 0;
++++    }
++++
++++    static int Main ()
++++    {
++++            int result = DoTheTest<int> ();
++++            if (result != 0)
++++                    return result;
++++
++++            result = DoTheTest<long> () + 10;
++++            if (result != 10)
++++                    return result;
++++
++++            Test<int>.Count = 0;
++++            ++Test<long>.Count;
++++
++++            result = DoTheTest<int> () + 20;
++++            if (result != 20)
++++                    return result;
++++
++++            if (Test<int>.Count != 3)
++++                    return 31;
++++            if (Test<long>.Count != 4)
++++                    return 32;
++++            Test<float>.Count = 5;
++++            if (Test<int>.Count != 3)
++++                    return 33;
++++            if (Test<long>.Count != 4)
++++                    return 34;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..679bbb1339bcc3228df120dc0467bae7fe93f223
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// Operators and generic types.
++++
++++using System;
++++
++++class X<T>
++++{
++++    public int Count;
++++
++++    public X (int count)
++++    {
++++            this.Count = count;
++++    }
++++
++++    public static X<T> operator ++ (X<T> operand) {
++++            return new X<T> (operand.Count + 1);
++++    }
++++}
++++
++++class Test
++++{
++++    static void Main ()
++++    {
++++            X<long> x = new X<long> (5);
++++            Console.WriteLine (x.Count);
++++            x++;
++++            Console.WriteLine (x.Count);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2036017109d0f7f3bd799f900b32a632270d86de
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++// Important test: Type inference
++++
++++class Test<A,B>
++++{
++++    public void Foo<U> (U u)
++++    { }
++++
++++    public void Foo<V> (V[] v, V w)
++++    { }
++++
++++    public void Hello<V,W> (V v, W w, Test<V,W> x)
++++    { }
++++
++++    public void ArrayMethod<V> (params V[] args)
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Test<float,int> test = new Test<float,int> ();
++++            test.Foo ("Hello World");
++++            test.Foo (new long[] { 3, 4, 5 }, 9L);
++++            test.Hello (3.14F, 9, test);
++++            test.ArrayMethod (3.14F, (float) 9 / 3);
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..40f01434d901503813554adceedcebc39d3d2cc4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@
++++// Generic delegates.
++++
++++using System;
++++
++++delegate void Test<T> (T t);
++++
++++class Foo<T>
++++{
++++    public event Test<T> MyEvent;
++++
++++    public void Hello (T t)
++++    {
++++            if (MyEvent != null)
++++                    MyEvent (t);
++++    }
++++}
++++
++++class X
++++{
++++    static void do_hello (string hello)
++++    {
++++            Console.WriteLine ("Hello: {0}", hello);
++++    }
++++
++++    static void Main ()
++++    {
++++            Foo<string> foo = new Foo<string> ();
++++            foo.MyEvent += new Test<string> (do_hello);
++++            foo.Hello ("Boston");
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3f0bc06c16fa26ab67b58a8225f59e81e191ebdc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@
++++// Compiler options: -t:library
++++
++++namespace Foo
++++{
++++    public class List
++++    {
++++    }
++++}
++++
++++namespace Bar
++++{
++++    public class List<T>
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..71af6d5f2ad34db4c4c859c1b86d73080255fd52
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++// Compiler options: -r:gtest-047-lib.dll
++++
++++// Important test: verify our namespace lookup rules
++++//
++++// There's a generic and a non-generic `List' type in two
++++// different namespaces: make sure we pick the correct one.
++++
++++using Foo;
++++using Bar;
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            List<int> list = new List<int> ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b1335e2a2bd59733d38c9bd87eb4359bf371d9b8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@
++++// This fixed a problem in the JIT.
++++
++++public class Stack<T>
++++{
++++    T[] data;
++++
++++    public Stack ()
++++    {
++++            data = new T [10];
++++    }
++++
++++    public void Add (T t)
++++    {
++++            data [0] = t;
++++    }
++++}
++++
++++struct Foo
++++{
++++    int a;
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Foo foo = new Foo ();
++++            Stack<Foo> stack = new Stack<Foo> ();
++++            stack.Add (foo);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e5e8699d292727dc42e80d550f97945252d188b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++// Important test: compare this to gcs0408-*.cs; these are the allowed cases.
++++
++++class X<T>
++++{
++++    void A (T t)
++++    { }
++++
++++    void A (T[] t)
++++    { }
++++
++++    void A (T[,] t)
++++    { }
++++
++++    void A (T[][] t)
++++    { }
++++
++++    void B (T[] t)
++++    { }
++++
++++    void B (int t)
++++    { }
++++
++++    void C (T[] t)
++++    { }
++++
++++    void C (T[,] t)
++++    { }
++++
++++    void C (int[,,] t)
++++    { }
++++
++++    void D (int x, T y)
++++    { }
++++
++++    void D (T x, long y)
++++    { }
++++}
++++
++++class Foo
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..641ac26429370313a3b5acf98170a8cb7edabff6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// Type inference when creating delegates
++++
++++using System;
++++
++++delegate int D (string s, int i);
++++
++++delegate int E ();
++++
++++class X
++++{
++++    public static T F<T> (string s, T t)
++++    {
++++            return t;
++++    }
++++
++++    public static T G<T> ()
++++    {
++++            throw new ArgumentException ();
++++    }
++++
++++    static void Main ()
++++    {
++++            D d1 = new D (F<int>);
++++            D d2 = new D (F);
++++
++++            E e1 = new E (G<int>);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5fc94f7c6e895fe9c375b0d5cfb4e1d07a116445
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,33 @@@@@
++++using System;
++++
++++public class Foo<T>
++++    where T : A
++++{
++++    public void Test (T t)
++++    {
++++            Console.WriteLine (t);
++++            Console.WriteLine (t.GetType ());
++++            t.Hello ();
++++    }
++++}
++++
++++public class A
++++{
++++    public void Hello ()
++++    {
++++            Console.WriteLine ("Hello World");
++++    }
++++}
++++
++++public class B : A
++++{
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Foo<B> foo = new Foo<B> ();
++++            foo.Test (new B ());
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f2a8441ba6f6fce27ae77d0b4dd6f541eef3beae
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// We create an instance of a type parameter which has the new() constraint.
++++using System;
++++
++++public class Foo<T>
++++    where T : new ()
++++{
++++    public T Create ()
++++    {
++++            return new T ();
++++    }
++++}
++++
++++class X
++++{
++++    public X ()
++++    { }
++++
++++    void Hello ()
++++    {
++++            Console.WriteLine ("Hello World");
++++    }
++++
++++    static void Main ()
++++    {
++++            Foo<X> foo = new Foo<X> ();
++++            foo.Create ().Hello ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1feda3b96c47292d8692319215b736c2f14940ee
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,169 @@@@@
++++//
++++// Important test: Type parameters and boxing (26.7.3).
++++//
++++// This tests the constrained_ prefix opcode.
++++//
++++using System;
++++
++++public interface ICounter
++++{
++++    void Increment ();
++++}
++++
++++namespace ValueTypeCounters
++++{
++++    public struct SimpleCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public void Increment ()
++++            {
++++                    Value += 2;
++++            }
++++    }
++++
++++    public struct PrintingCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public override string ToString ()
++++            {
++++                    return Value.ToString ();
++++            }
++++
++++            public void Increment ()
++++            {
++++                    Value += 2;
++++            }
++++    }
++++
++++    public struct ExplicitCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public override string ToString ()
++++            {
++++                    return Value.ToString ();
++++            }
++++
++++            void ICounter.Increment ()
++++            {
++++                    Value++;
++++            }
++++    }
++++
++++    public struct InterfaceCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public override string ToString ()
++++            {
++++                    return Value.ToString ();
++++            }
++++
++++            void ICounter.Increment ()
++++            {
++++                    Value++;
++++            }
++++
++++            public void Increment ()
++++            {
++++                    Value += 2;
++++            }
++++    }
++++}
++++
++++namespace ReferenceTypeCounters
++++{
++++    public class SimpleCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public void Increment ()
++++            {
++++                    Value += 2;
++++            }
++++    }
++++
++++    public class PrintingCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public override string ToString ()
++++            {
++++                    return Value.ToString ();
++++            }
++++
++++            public void Increment ()
++++            {
++++                    Value += 2;
++++            }
++++    }
++++
++++    public class ExplicitCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public override string ToString ()
++++            {
++++                    return Value.ToString ();
++++            }
++++
++++            void ICounter.Increment ()
++++            {
++++                    Value++;
++++            }
++++    }
++++
++++    public class InterfaceCounter : ICounter
++++    {
++++            public int Value;
++++
++++            public override string ToString ()
++++            {
++++                    return Value.ToString ();
++++            }
++++
++++            void ICounter.Increment ()
++++            {
++++                    Value++;
++++            }
++++
++++            public void Increment ()
++++            {
++++                    Value += 2;
++++            }
++++    }
++++}
++++
++++namespace Test
++++{
++++    using V = ValueTypeCounters;
++++    using R = ReferenceTypeCounters;
++++
++++    public class Test<T>
++++            where T : ICounter
++++    {
++++            public static void Foo (T x)
++++            {
++++                    Console.WriteLine (x.ToString ());
++++                    x.Increment ();
++++                    Console.WriteLine (x.ToString ());
++++            }
++++    }
++++
++++    public class X
++++    {
++++            static void Main ()
++++            {
++++                    Test<V.SimpleCounter>.Foo (new V.SimpleCounter ());
++++                    Test<V.PrintingCounter>.Foo (new V.PrintingCounter ());
++++                    Test<V.ExplicitCounter>.Foo (new V.ExplicitCounter ());
++++                    Test<V.InterfaceCounter>.Foo (new V.InterfaceCounter ());
++++                    Test<R.SimpleCounter>.Foo (new R.SimpleCounter ());
++++                    Test<R.PrintingCounter>.Foo (new R.PrintingCounter ());
++++                    Test<R.ExplicitCounter>.Foo (new R.ExplicitCounter ());
++++                    Test<R.InterfaceCounter>.Foo (new R.InterfaceCounter ());
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7080a2d417a3fb8e9307e0a0e0331df671556e48
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,75 @@@@@
++++//
++++// Conversions involving type parameters (26.7.4).
++++// This is a compilation-only test since some of the explict
++++// conversions would trigger an InvalidCastException.
++++//
++++
++++using System;
++++
++++interface Foo
++++{
++++    void Hello ();
++++}
++++
++++class A
++++{ }
++++
++++class B : A, Foo
++++{
++++    public void Hello ()
++++    { }
++++
++++    public static implicit operator C (B b)
++++    {
++++            return new C ();
++++    }
++++}
++++
++++class C
++++{
++++    public static explicit operator B (C c)
++++    {
++++            return new B ();
++++    }
++++}
++++
++++class Test
++++{
++++    static void Simple<T> (T t)
++++    {
++++            object o = t;
++++            t = (T) o;
++++            Foo foo = (Foo) t;
++++            t = (T) foo;
++++    }
++++
++++    static void Interface<T> (T t)
++++            where T : Foo
++++    {
++++            Foo foo = t;
++++    }
++++
++++    static void Class<T> (T t)
++++            where T : B
++++    {
++++            B b = t;
++++            A a = t;
++++            Foo foo = t;
++++            t = (T) b;
++++            t = (T) a;
++++            t = (T) foo;
++++            C c = t;
++++            t = (T) c;
++++    }
++++
++++    static void Array<T> (T[] t)
++++    {
++++            object o = t;
++++            Array a = t;
++++            t = (T []) o;
++++            t = (T []) a;
++++    }
++++
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..586196d45d8712394c5bf763da914d53b75f3885
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// Using constructed types in a namespace alias.
++++
++++namespace N1
++++{
++++    class A<T>
++++    {
++++            public class B { }
++++
++++            public class C<U> { }
++++    }
++++
++++    class C { }
++++}
++++
++++namespace N2
++++{
++++    using Y = N1.A<int>;
++++
++++    class X
++++    {
++++            static void Main ()
++++            {
++++                    Y y = new Y ();
++++                    Y.B b = new Y.B ();
++++                    Y.C<long> c = new Y.C<long> ();
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8080c0ab75f0b0f22ecc6fc9153756dde9772acc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,58 @@@@@
++++//-- ex-gen-logger
++++//-- ex-gen-struct-pair
++++//-- ex-gen-logging-pairs
++++// 1.2 alpha
++++
++++using System;
++++
++++public class Log<T> {
++++  private const int SIZE = 5;
++++  private static int instanceCount = 0;
++++  private int count = 0;
++++  private T[] log = new T[SIZE];
++++  public Log() { instanceCount++; }
++++  public static int InstanceCount { get { return instanceCount; } }
++++  public void Add(T msg) { log[count++ % SIZE] = msg; }
++++  public int Count { get { return count; } }
++++  public T Last {
++++    get { // Return the last log entry, or null if nothing logged yet
++++      return count==0 ? default(T) : log[(count-1)%SIZE];
++++    }
++++    set { // Update the last log entry, or create one if nothing logged yet 
++++      if (count==0)
++++        log[count++] = value;
++++      else
++++        log[(count-1)%SIZE] = value;
++++    }
++++  }    
++++  public T[] All {
++++    get {
++++      int size = Math.Min(count, SIZE);
++++      T[] res = new T[size];
++++      for (int i=0; i<size; i++)
++++        res[i] = log[(count-size+i) % SIZE];
++++      return res;
++++    }
++++  }
++++}
++++
++++class TestLog {
++++  class MyTest {
++++    public static void Main(String[] args) {
++++      Log<String> log1 = new Log<String>();
++++      log1.Add("Reboot");
++++      log1.Add("Coffee");
++++      Log<DateTime> log2 = new Log<DateTime>();
++++      log2.Add(DateTime.Now);
++++      log2.Add(DateTime.Now.AddHours(1));
++++      DateTime[] dts = log2.All;
++++      // Printing both logs:
++++      foreach (String s in log1.All) 
++++    Console.Write("{0}   ", s);
++++      Console.WriteLine();
++++      foreach (DateTime dt in dts) 
++++    Console.Write("{0}   ", dt);
++++      Console.WriteLine();
++++    }
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e3ba73bbf992f2fa03763b69359e58f7fd04d903
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,37 @@@@@
++++using System;
++++
++++interface IHello<T>
++++{
++++    void Print (T t);
++++}
++++
++++interface Foo
++++{
++++    IHello<U> Test<U> ();
++++}
++++
++++class Hello<T> : IHello<T>, Foo
++++{
++++    public void Print (T t)
++++    {
++++            Console.WriteLine ("Hello: {0}", t);
++++    }
++++
++++    public IHello<U> Test<U> ()
++++    {
++++            return new Hello<U> ();
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Hello<int> hello = new Hello<int> ();
++++            hello.Print (5);
++++            hello.Test<float> ().Print (3.14F);
++++
++++            IHello<string> foo = hello.Test<string> ();
++++            foo.Print ("World");
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..63a213bb9ad37824ddd813f2a905b48874b8b6a7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++class Foo {
++++    static void Main () {}
++++}
++++
++++class Foo <T> {
++++    static Foo <T> x;
++++    static Foo <T> Blah { get { return x; } }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f65d1ae475bd66727cd84f0014d6ec5e13b20529
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,9 @@@@@
++++namespace N {
++++    interface A <T> {
++++    }
++++}
++++class X <T> : N.A <T> {
++++}
++++class Foo {
++++    static void Main () {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..446d87b3eb58fdaee066c82140dfd73a84e7cd88
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,32 @@@@@
++++using System;
++++
++++interface IFoo
++++{
++++    MyList<U> Map<U> ();
++++}
++++
++++class MyList<T>
++++{
++++    public void Hello (T t)
++++    {
++++            Console.WriteLine (t);
++++    }
++++}
++++
++++class Foo : IFoo
++++{
++++    public MyList<T> Map<T> ()
++++    {
++++            return new MyList<T> ();
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Foo foo = new Foo ();
++++            MyList<int> list = foo.Map<int> ();
++++            list.Hello (9);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a7486896238227e46060138d75965ec608f18df7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,32 @@@@@
++++using System;
++++
++++public delegate B Test<A,B> (A a);
++++
++++public class Foo<T>
++++{
++++    T t;
++++
++++    public Foo (T t)
++++    {
++++            this.t = t;
++++    }
++++
++++    public U Method<U> (Test<T,U> test)
++++    {
++++            return test (t);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Test<double,int> test = new Test<double,int> (Math.Sign);
++++
++++            Foo<double> foo = new Foo<double> (Math.PI);
++++            Console.WriteLine (foo.Method<int> (test));
++++
++++            string s = foo.Method<string> (delegate (double d) { return "s" + d; });
++++            Console.WriteLine (s);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2822e169f93ed0068837ed7253a17492a97927e7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++using System.Collections.Generic;
++++
++++class X
++++{
++++    public IEnumerable<int> Test (int a, long b)
++++    {
++++            while (a < b) {
++++                    a++;
++++                    yield return a;
++++            }
++++        }
++++
++++    static int Main ()
++++    {
++++            X x = new X ();
++++            int sum = 0;
++++            foreach (int i in x.Test (3, 8L))
++++                    sum += i;
++++
++++            return sum == 30 ? 0 : 1;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cb57c5146555981b1adcb0e89b27f0143bf2f6d0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,41 @@@@@
++++using System;
++++
++++public class Test
++++{
++++    public static int IndexOf (Array array, object value)
++++    {
++++            // This is picking the non-generic version.
++++            return IndexOf (array, value, 0, array.Length);
++++    }
++++
++++    public static int IndexOf (Array array, object value, int startIndex, int count)
++++    {
++++            return 2;
++++    }
++++
++++    public static int IndexOf<T> (T[] array, T value, int startIndex, int count)
++++    {
++++            return 1;
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            Test test = new Test ();
++++            string[] array = new string [] { "Hello" };
++++
++++            int result = Test.IndexOf (array, array);
++++            if (result != 2)
++++                    return 1;
++++
++++            string hello = "Hello World";
++++            // This is picking the generic version.
++++            result = Test.IndexOf (array, hello, 1, 2);
++++            if (result != 1)
++++                    return 2;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8df837934c57a85a26855e0a541a30c64d7f81a2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,41 @@@@@
++++using System;
++++
++++public interface IHello<T>
++++{ }
++++
++++public interface IFoo<T>
++++{
++++    IHello<T> GetHello ();
++++}
++++
++++public interface IBar<T> : IFoo<T>
++++{ }
++++
++++public class Foo<T> : IBar<T>, IFoo<T>
++++{
++++    public Hello GetHello ()
++++    {
++++            return new Hello (this);
++++    }
++++
++++    IHello<T> IFoo<T>.GetHello ()
++++    {
++++            return new Hello (this);
++++    }
++++
++++    public class Hello : IHello<T>
++++    {
++++            public readonly Foo<T> Foo;
++++
++++            public Hello (Foo<T> foo)
++++            {
++++                    this.Foo = foo;
++++            }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c66cf890104f41a6f1100689df4ee6861795cca7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,56 @@@@@
++++//-- ex-gen-type-parameter-in-constraint
++++
++++using System;
++++using System.Collections.Generic;
++++
++++// A constraint may involve type parameters 
++++// A type may have multiple constraints 
++++
++++struct ComparablePair<T,U> : IComparable<ComparablePair<T,U>>
++++  where T : IComparable<T> 
++++  where U : IComparable<U> {
++++  public readonly T Fst;
++++  public readonly U Snd;
++++  
++++  public ComparablePair(T fst, U snd) {
++++    Fst = fst; Snd = snd;
++++  }
++++  
++++  // Lexicographic ordering
++++  public int CompareTo(ComparablePair<T,U> that) {
++++    int firstCmp = this.Fst.CompareTo(that.Fst);
++++    return firstCmp != 0 ? firstCmp : this.Snd.CompareTo(that.Snd);
++++  }
++++
++++  public bool Equals(ComparablePair<T,U> that) {
++++    return this.Fst.Equals(that.Fst) && this.Snd.Equals(that.Snd);
++++  }
++++
++++  public override String ToString() {
++++    return "(" + Fst + ", " + Snd + ")";
++++  }
++++}
++++
++++// Sorting soccer world champions by country and year
++++
++++class MyTest {
++++    static void Test ()
++++    {
++++            new ComparablePair<string,int>("Brazil", 2002);
++++    }
++++
++++  public static void Main(string[] args) {
++++    List<ComparablePair<string,int>> lst 
++++      = new List<ComparablePair<string,int>>();
++++    lst.Add(new ComparablePair<String,int>("Brazil", 2002));
++++    lst.Add(new ComparablePair<String,int>("Italy", 1982));
++++    lst.Add(new ComparablePair<String,int>("Argentina", 1978 ));
++++    lst.Add(new ComparablePair<String,int>("Argentina", 1986 ));
++++    lst.Add(new ComparablePair<String,int>("Germany", 1990));
++++    lst.Add(new ComparablePair<String,int>("Brazil", 1994));
++++    lst.Add(new ComparablePair<String,int>("France", 1998));
++++    // lst.Sort();
++++    foreach (ComparablePair<String,int> pair in lst) 
++++      Console.WriteLine(pair);
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0c763ad0c89c1fb8b0491669361384738d4bba62
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++using System;
++++
++++public class Foo<T>
++++{
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Console.WriteLine (typeof (Foo<>));
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..43df27f9fa217447a60e2b52486261aa7a962d48
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++class Test
++++{
++++    public delegate int Foo<T> (T t, T u);
++++
++++    public void Hello<U> (Foo<U> foo, U u)
++++    { }
++++}
++++
++++class X
++++{
++++    static int Add (int a, int b)
++++    {
++++            return a + b;
++++    }
++++
++++    static void Main ()
++++    {
++++            Test test = new Test ();
++++            test.Hello<int> (new Test.Foo<int> (Add), 5);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..22d032b0a6781306a3c7a2e257580b86192fb068
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++namespace Martin
++++{
++++    public class Foo<T>
++++    { }
++++}
++++
++++namespace Baulig
++++{
++++    using M = Martin;
++++
++++    class X
++++    {
++++            static void Main ()
++++            {
++++                    M.Foo<int> foo;
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3305f2e940805c9e03098f2dc7423f9d5f237a93
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++public interface IFoo
++++{
++++    int GetHashCode ();
++++}
++++
++++public interface IFoo<T>
++++{
++++    int GetHashCode ();
++++}
++++
++++public class Test<T>
++++{
++++    public int Foo (IFoo<T> foo)
++++    {
++++            return foo.GetHashCode ();
++++    }
++++
++++    public int Foo (IFoo foo)
++++    {
++++            return foo.GetHashCode ();
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b2184402dfa1a81b2c3a29057b3b1d4ab0ecfc3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++namespace Martin
++++{
++++    public class Test<T>
++++    {
++++            public static int Foo ()
++++            {
++++                    return 0;
++++            }
++++    }
++++}
++++
++++class Foo<T>
++++{
++++    public Foo (int a)
++++    { }
++++
++++    public Foo ()
++++            : this (Martin.Test<T>.Foo ())
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b0a7857de69c3dc3a9bd339b6db9a5f861b7c9f6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,25 @@@@@
++++using System;
++++
++++class Foo<T>
++++{
++++    public T Test<U> (U u)
++++            where U : T
++++    {
++++            return u;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Foo<X> foo = new Foo<X> ();
++++
++++            Y y = new Y ();
++++            X x = foo.Test<Y> (y);
++++    }
++++}
++++
++++class Y : X
++++{
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..70a346b584f52f0247495ce1717a8d061e85c536
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,78 @@@@@
++++//-- ex-gen-logger
++++//-- ex-gen-struct-pair
++++//-- ex-gen-logging-pairs
++++// 1.2 alpha
++++
++++using System;
++++
++++public class Log<T> {
++++  private const int SIZE = 5;
++++  private static int instanceCount = 0;
++++  private int count = 0;
++++  private T[] log = new T[SIZE];
++++  public Log() { instanceCount++; }
++++  public static int InstanceCount { get { return instanceCount; } }
++++  public void Add(T msg) { log[count++ % SIZE] = msg; }
++++  public int Count { get { return count; } }
++++  public T Last {
++++    get { // Return the last log entry, or null if nothing logged yet
++++      return count==0 ? default(T) : log[(count-1)%SIZE];
++++    }
++++    set { // Update the last log entry, or create one if nothing logged yet 
++++      if (count==0)
++++        log[count++] = value;
++++      else
++++        log[(count-1)%SIZE] = value;
++++    }
++++  }    
++++  public T[] All {
++++    get {
++++      int size = Math.Min(count, SIZE);
++++      T[] res = new T[size];
++++      for (int i=0; i<size; i++)
++++        res[i] = log[(count-size+i) % SIZE];
++++      return res;
++++    }
++++  }
++++}
++++
++++class TestLog {
++++  class MyTest {
++++    public static void Main(String[] args) {
++++      Log<String> log1 = new Log<String>();
++++      log1.Add("Reboot");
++++      log1.Add("Coffee");
++++      Log<DateTime> log2 = new Log<DateTime>();
++++      log2.Add(DateTime.Now);
++++      log2.Add(DateTime.Now.AddHours(1));
++++      DateTime[] dts = log2.All;
++++      // Printing both logs:
++++      foreach (String s in log1.All) 
++++    Console.Write("{0}   ", s);
++++      Console.WriteLine();
++++      foreach (DateTime dt in dts) 
++++    Console.Write("{0}   ", dt);
++++      Console.WriteLine();
++++      TestPairLog();
++++    }
++++    
++++    public static void TestPairLog() {
++++      Log<Pair<DateTime,String>> log = new Log<Pair<DateTime,String>>();
++++      log.Add(new Pair<DateTime,String>(DateTime.Now, "Tea leaves"));
++++      log.Add(new Pair<DateTime,String>(DateTime.Now.AddMinutes(2), "Hot water"));
++++      log.Add(new Pair<DateTime,String>(DateTime.Now.AddMinutes(7), "Ready"));
++++      Pair<DateTime,String>[] allMsgs = log.All;
++++      foreach (Pair<DateTime,String> p in allMsgs) 
++++    Console.WriteLine("At {0}: {1}", p.Fst, p.Snd);
++++    }
++++  }
++++}
++++
++++public struct Pair<T,U> {
++++  public readonly T Fst;
++++  public readonly U Snd;
++++  public Pair(T fst, U snd) {
++++    this.Fst = fst; 
++++    this.Snd = snd;
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa7165c727108de88895a28b72437fd26862ce0d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,36 @@@@@
++++using System;
++++using System.Collections;
++++using System.Collections.Generic;
++++
++++class MyList<T> : IEnumerable<T>
++++{
++++    public IEnumerator<T> GetEnumerator ()
++++    {
++++            yield break;
++++    }
++++
++++    IEnumerator IEnumerable.GetEnumerator ()
++++    {
++++            return GetEnumerator ();
++++    }
++++}
++++
++++struct Foo<T>
++++{
++++    public readonly T Data;
++++  
++++    public Foo (T data)
++++    {
++++            this.Data = data;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            MyList<Foo<int>> list = new MyList <Foo<int>> ();
++++            foreach (Foo<int> foo in list)
++++                    ;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dae2000a3a9bec3c6fa434ea9fd527ef6a8fd872
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++using System;
++++
++++public struct Foo<T>
++++{
++++    public T Data, Data2;
++++
++++    public Foo (T a, T b)
++++    {
++++            this.Data = a;
++++            this.Data2 = b;
++++    }
++++}
++++
++++public class Test<T>
++++{
++++    public T Data, Data2;
++++
++++    public Test (T a, T b)
++++    {
++++            this.Data = a;
++++            this.Data2 = b;
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            Foo<long> foo = new Foo<long> (3, 5);
++++            if (foo.Data != 3)
++++                    return 1;
++++            if (foo.Data2 != 5)
++++                    return 2;
++++
++++            Test<long> test = new Test<long> (3, 5);
++++            if (test.Data != 3)
++++                    return 3;
++++            if (test.Data2 != 5)
++++                    return 4;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9c7c61b95a121f4a97a217a9ba65457d3349d49c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++public interface IExtensible<T>
++++{
++++    void AddAll<U> (U item)
++++            where U : T;
++++}
++++
++++public class ArrayList<T> : IExtensible<T>
++++{
++++        void IExtensible<T>.AddAll<U> (U item)
++++        { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..57d0676166db21f7a959b750b53d8a07789e7f53
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,36 @@@@@
++++using System;
++++
++++struct Foo<T>
++++{
++++    public T Data;
++++
++++    public Foo (T data)
++++    {
++++            this.Data = data;
++++    }
++++}
++++
++++class Test<T>
++++{
++++    public Foo<T> GetFoo (T data)
++++    {
++++            return new Foo<T> (data);
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            Test<long> test = new Test<long> ();
++++            Foo<long> foo = test.GetFoo (0x800);
++++            //
++++            // This is a very simple test, just make sure the struct
++++            // is returned correctly.  This was broken until recently
++++            // and I just fixed it on amd64.
++++            if (foo.Data != 0x800)
++++                    return 1;
++++            return 0;
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4c7da6c8df3ffbcdbe9e1e412c4453d2195e20b1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++// Compiler options: -r:System
++++using System;
++++using System.Collections.Generic;
++++
++++public class X {
++++    public static void Main(string[] args)
++++    {
++++            Collection<int> list = new Collection<int>();
++++            list.Add (3);
++++            foreach (int i in list) {
++++                    Console.WriteLine(i);
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4ef3c9b44ff9119d195522d4cdf6415557fdfe5c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++using System;
++++using System.Collections;
++++
++++public class Test
++++{
++++        public static void Main ()
++++        {
++++                foreach (object o in new Test ())
++++                        Console.WriteLine (o);
++++        }
++++
++++        public IEnumerator GetEnumerator ()
++++        {
++++                foreach (int i in new ArrayList ())
++++                        yield return i;
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2df3c2fcf8fb3ca841cec94ceb8c76a31b115e25
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,70 @@@@@
++++namespace A
++++{
++++    public interface IExtensible<T>
++++    {
++++            void AddAll<U> (U u)
++++                    where U : T;
++++    }
++++
++++    public class ArrayList<T> : IExtensible<T>
++++    {
++++            void IExtensible<T>.AddAll<U> (U u)
++++            {
++++                    InsertAll (u);
++++            }
++++
++++            void InsertAll (T t)
++++            { }
++++    }
++++}
++++
++++namespace B
++++{
++++    public interface IExtensible<S,T>
++++    {
++++            void AddAll<U> (U t)
++++                    where U : S;
++++    }
++++
++++    public class ArrayList<X,Y> : IExtensible<Y,X>
++++    {
++++            public void AddAll<Z> (Z z)
++++                    where Z : Y
++++            {
++++                    InsertAll (z);
++++            }
++++
++++            void InsertAll (Y y)
++++            { }
++++    }
++++}
++++
++++namespace C
++++{
++++    public interface IExtensible<S>
++++    {
++++            void AddAll<T> (T t)
++++                    where T : S;
++++    }
++++
++++    public class Foo<U>
++++    { }
++++
++++    public class ArrayList<X> : IExtensible<Foo<X>>
++++    {
++++            public void AddAll<Y> (Y y)
++++                    where Y : Foo<X>
++++            {
++++                    InsertAll (y);
++++            }
++++
++++            void InsertAll (Foo<X> foo)
++++            { }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..57931e1bb9566457374f6ac4c0ccb8a767c57095
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++public interface IFoo<X>
++++{ }
++++
++++public class Test
++++{
++++    public void Hello<T> (IFoo<T> foo)
++++    {
++++            InsertAll (foo);
++++    }
++++
++++    public void InsertAll<U> (IFoo<U> foo)
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..abb55d120c10fd4d801f7754a233e95ae1af9f4e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++public class ArrayList<T>
++++{
++++        void AddAll<U> (U u)
++++            where U : T
++++        {
++++            InsertAll (u);
++++        }
++++
++++    void InsertAll (T t)
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0e3fa9bedba58337afcdda729273ce534ec09ccb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++using System;
++++
++++public class Queue<T>
++++{
++++    protected class Enumerator
++++    {
++++            Queue<T> queue;
++++
++++            public Enumerator (Queue<T> queue)
++++            {
++++                    this.queue = queue;
++++            }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e9a83523ccd4af6c067dbb05d2da23a9c9c803de
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++public class CollectionValueBase<T>
++++{
++++    public virtual T[] ToArray()
++++    {
++++            return null;
++++    }
++++}
++++
++++public class CollectionBase<T>: CollectionValueBase<T>
++++{
++++}
++++
++++public class SequencedBase<T>: CollectionBase<T>
++++{
++++}
++++
++++public class ArrayBase<T>: SequencedBase<T>
++++{
++++    public override T[] ToArray()
++++    {
++++            return null;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c0449b220535fd7e22dbce81dc4ca2185cc74e63
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++namespace HasherBuilder
++++{
++++    public class ByPrototype<S>
++++    {
++++            public static IHasher<S> Examine()
++++            {
++++                    return null;
++++            }
++++    }
++++}
++++
++++public interface IHasher<T>
++++{
++++}
++++
++++public class ArrayList<U>
++++{
++++    public IHasher<U> GetHasher ()
++++    {
++++            return HasherBuilder.ByPrototype<U>.Examine();
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..02987da2916188e2a10c0cb07f700d5a97099986
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,32 @@@@@
++++using System;
++++
++++public interface IFoo<S>
++++{ }
++++
++++public class ArrayList<T>
++++{
++++    public virtual int InsertAll (IFoo<T> foo)
++++    {
++++            return 0;
++++    }
++++
++++        public virtual int InsertAll<U> (IFoo<U> foo)
++++            where U : T
++++        {
++++            return 1;
++++        }
++++
++++    public virtual int AddAll (IFoo<T> foo)
++++    {
++++            return InsertAll (foo);
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            ArrayList<int> list = new ArrayList<int> ();
++++            return list.AddAll (null);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..34f094223d4084700a1b63e0a50e2f5bfdff80a5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++public interface IFoo<S>
++++{ }
++++
++++public class ArrayList<T>
++++{
++++        public virtual int InsertAll (IFoo<T> foo)
++++        {
++++                return 0;
++++        }
++++
++++        public virtual int InsertAll<U> (IFoo<U> foo)
++++                where U : T
++++        {
++++                return 1;
++++        }
++++
++++        public virtual int AddAll (IFoo<T> foo)
++++        {
++++                return InsertAll (foo);
++++        }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ab253043357c7ee8ebf37a1b556e65fb99773d6f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,34 @@@@@
++++namespace C5
++++{
++++    public class HashedArrayList<T>
++++    {
++++            public void Test ()
++++            {
++++                    new HashSet <KeyValuePair<T,int>> (new KeyValuePairHasher<T,int> ());
++++            }
++++    }
++++
++++    public class HashSet<T>
++++    {
++++            public HashSet (IHasher<T> itemhasher)
++++            { }
++++    }
++++
++++    public interface IHasher<T>
++++    {
++++    }
++++
++++    public struct KeyValuePair<K,V>
++++    {
++++    }
++++
++++    public sealed class KeyValuePairHasher<K,V>: IHasher<KeyValuePair<K,V>>
++++    {
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c95c6b50dbbe9831cbf67d45244bcef76e3b3504
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++using System;
++++
++++public struct KeyValuePair<K,V>
++++{
++++    public KeyValuePair (K k, V v)
++++    { }
++++
++++    public KeyValuePair (K k)
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            new KeyValuePair<int,long> ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b379d8b47e214f1d96a737145dd0d5b6ff4db40
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++using System;
++++
++++class Test<T>
++++{
++++    public void Foo (T t, out int a)
++++    {
++++            a = 5;
++++    }
++++
++++    public void Hello (T t)
++++    {
++++            int a;
++++
++++            Foo (t, out a);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8ba94c1427edbf0427fb071d754d72471500c79b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++using System;
++++
++++public abstract class Foo<T>
++++{
++++    public virtual T InsertAll<U> (U u)
++++            where U : T
++++    {
++++            return u;
++++    }
++++}
++++
++++public class Bar<T> : Foo<T>
++++{
++++    public override T InsertAll<U> (U u)
++++    {
++++            return u;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..574520fbb7063a0c97206f2e2ef47f1f4bddaa89
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++using System;
++++
++++public class Foo<T>
++++{
++++    Node node;
++++
++++    public Node Test<V> ()
++++    {
++++            return node;
++++    }
++++
++++    public class Node
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..19a596476d8aaf6c143345e94ee81b27c65d6388
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,47 @@@@@
++++using System;
++++
++++public class Element<T>
++++{
++++    public readonly T Item;
++++
++++    public Element (T item)
++++    {
++++            this.Item = item;
++++    }
++++
++++    public void GetItem (out T retval)
++++    {
++++            retval = Item;
++++    }
++++
++++    public T GetItem (int a, ref T data)
++++    {
++++            return Item;
++++    }
++++
++++    public void SetItem (T data)
++++    { }
++++}
++++
++++public class Foo<T>
++++{
++++    Element<Node> element;
++++
++++    public Node Test ()
++++    {
++++            Node node = element.Item;
++++            element.GetItem (out node);
++++            element.SetItem (node);
++++            return element.GetItem (3, ref node);
++++    }
++++
++++    public class Node
++++    {
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b9f4b614e7368af67624c3ee7eff78e89fd3d039
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@
++++using System;
++++
++++public class Foo<T>
++++{
++++    public readonly T Item;
++++
++++    public Foo (T item)
++++    {
++++            this.Item = item;
++++    }
++++
++++    static void maketreer (out Node rest)
++++    {
++++            rest = new Node ();
++++    }
++++
++++    class Node
++++    { }
++++
++++    public void Hello<U> ()
++++    {
++++            Foo<U>.Node node;
++++            Foo<U>.maketreer (out node);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8f1cdcef27746879e97af1fc6bda4df215438777
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++public class LinkedList<T>
++++{
++++    protected class Node
++++    { }
++++}
++++
++++public class HashedLinkedList<T> : LinkedList<T>
++++{
++++    Node node;
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..74f501f289e47f2b35b504e8b8736c85e05de222
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,44 @@@@@
++++using System;
++++
++++public interface IDirectedEnumerable<T>
++++{
++++    IDirectedEnumerable<T> Backwards();
++++}
++++
++++public interface IDirectedCollectionValue<T> : IDirectedEnumerable<T>
++++{
++++    new IDirectedCollectionValue<T> Backwards();
++++}
++++
++++public class GuardedCollectionValue<T> : IDirectedCollectionValue<T>
++++{
++++    IDirectedEnumerable<T> IDirectedEnumerable<T>.Backwards ()
++++    {
++++            return this;
++++    }
++++
++++    public IDirectedCollectionValue<T> Backwards ()
++++    {
++++            return this;
++++    }
++++}
++++
++++public interface ISequenced<T> : IDirectedCollectionValue<T>
++++{
++++}
++++
++++public class GuardedSequenced<T>
++++{
++++    ISequenced<T> sequenced;
++++
++++    public IDirectedCollectionValue<T> Test ()
++++    {
++++            return sequenced.Backwards();
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..262511bd9ae655d93089a31981f187699947a12a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++using System;
++++
++++class Foo<T>
++++{ }
++++
++++class Test
++++{
++++    static void Hello<T> (Foo<T>[] foo, int i)
++++    {
++++            Foo<T> element = foo [0];
++++            Console.WriteLine (element);
++++            if (i > 0)
++++                    Hello<T> (foo, i - 1);
++++    }
++++
++++    public static void Quicksort<U> (Foo<U>[] arr)
++++    {
++++            Hello<U> (arr, 1);
++++    }
++++
++++    static void Main ()
++++    {
++++            Foo<int>[] foo = new Foo<int> [1];
++++            foo [0] = new Foo<int> ();
++++            Quicksort (foo);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cc748cd4a9e6cd69ecf67f1cf3ec8b9efae0b24a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,40 @@@@@
++++public interface IFoo
++++{
++++    void Test<T> ();
++++
++++    void Test<U,V> ();
++++}
++++
++++public class Foo : IFoo
++++{
++++    void IFoo.Test<X> ()
++++    { }
++++
++++    void IFoo.Test<Y,Z> ()
++++    { }
++++}
++++
++++public interface IBar<T>
++++{
++++    void Test ();
++++}
++++
++++public interface IBar<U,V>
++++{
++++    void Test ();
++++}
++++
++++public class Bar<X,Y,Z> : IBar<X>, IBar<Y,Z>
++++{
++++    void IBar<X>.Test ()
++++    { }
++++
++++    void IBar<Y,Z>.Test ()
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..98b5d06ad6a2e67d79248a6937183948166c6985
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++// Compiler options: -t:library
++++
++++public interface IFoo
++++{
++++    void Test<T> ();
++++
++++    void Test<U,V> ();
++++}
++++
++++public interface IBar<T>
++++{
++++    void Test ();
++++}
++++
++++public interface IBar<U,V>
++++{
++++    void Test ();
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5dc31331426d19de1600a187149e1d1fbc1b7d43
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++// Compiler options: /r:gtest-098-lib.dll
++++public class Foo : IFoo
++++{
++++    void IFoo.Test<X> ()
++++    { }
++++
++++    void IFoo.Test<Y,Z> ()
++++    { }
++++}
++++
++++public class Bar<X,Y,Z> : IBar<X>, IBar<Y,Z>
++++{
++++    void IBar<X>.Test ()
++++    { }
++++
++++    void IBar<Y,Z>.Test ()
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1132720ceba72ea1152752e659eb6af8933187ff
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++using System;
++++
++++// Runtime test for mono_class_setup_vtable()
++++namespace C5
++++{
++++    public interface ICollection<T>
++++    {
++++            void Test<U> ();
++++    }
++++
++++    public abstract class ArrayBase<T> : ICollection<T>
++++    {
++++            void ICollection<T>.Test<U> ()
++++            { }
++++    }
++++
++++    public class ArrayList<V> : ArrayBase<V>
++++    {
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            C5.ArrayList<int> array = new C5.ArrayList<int> ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a9fc10676e58abc48f086cf07bd586b489cc0e7e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++using System;
++++
++++public class Test
++++{
++++    static void Main ()
++++    {
++++            SimpleStruct <string> s = new SimpleStruct <string> ();
++++    }
++++}
++++
++++public struct SimpleStruct <T>
++++{
++++    T data;
++++
++++    public SimpleStruct (T data)
++++    {
++++            this.data = data;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b75103186161cd9d0526212460afb1f261c060c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++using System;
++++
++++class A<T>
++++    where T: IComparable
++++{
++++}
++++
++++class B<U,V>
++++    where U: IComparable
++++    where V: A<U>
++++{
++++}
++++
++++class Driver
++++{
++++    public static void Main ()
++++    {
++++            A<int> a_int;
++++            B<int,A<int>> b_stuff;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..71993f0c825adee4f3cefaec7329133b04e65012
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++public interface IFoo<T>
++++{ }
++++
++++public class Foo : IFoo<string>
++++{ }
++++
++++public class Hello
++++{
++++    public void World<U> (U u, IFoo<U> foo)
++++    { }
++++
++++    public void World<V> (IFoo<V> foo)
++++    { }
++++
++++    public void Test (Foo foo)
++++    {
++++            World ("Canada", foo);
++++            World (foo);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e027bead6dfd0fff714d69a2686bfe78c01fe7f7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++class MainClass
++++{
++++        class Gen<T>
++++        {
++++            public void Test ()
++++            { }
++++        }
++++
++++        class Der : Gen<int>
++++        {
++++        }
++++
++++        static void Main ()
++++        {
++++            object o = new Der ();
++++                Gen<int> b = (Gen<int>) o;
++++            b.Test ();
++++        }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fd674725bb8156915e8f12f9518d8fda4577e484
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,104 @@@@@
++++namespace A
++++{
++++    public struct KeyValuePair<X,Y>
++++    {
++++            public KeyValuePair (X x, Y y)
++++            { }
++++    }
++++
++++    public interface IComparer<T>
++++    {
++++            int Compare (T x);
++++    }
++++
++++    public class KeyValuePairComparer<K,V> : IComparer<KeyValuePair<K,V>>
++++    {
++++            public int Compare (KeyValuePair<K,V> a)
++++            {
++++                    return 0;
++++            }
++++    }
++++
++++    public class TreeBag<T>
++++    {
++++            IComparer<T> comparer;
++++
++++            public TreeBag (IComparer<T> comparer)
++++            {
++++                    this.comparer = comparer;
++++            }
++++
++++            public int Find (ref T item)
++++            {
++++                    return comparer.Compare (item);
++++            }
++++    }
++++
++++    public class X
++++    {
++++            public static void Test ()
++++            {
++++                    KeyValuePair<int,int> pair = new KeyValuePair<int,int> (3, 89);
++++                    KeyValuePairComparer<int,int> comparer = new KeyValuePairComparer<int,int> ();
++++                    TreeBag<KeyValuePair<int,int>> bag = new TreeBag<KeyValuePair<int,int>> (comparer);
++++                    bag.Find (ref pair);
++++            }
++++    }
++++}
++++
++++namespace B
++++{
++++    public class KeyValuePair<X,Y>
++++    {
++++            public KeyValuePair (X x, Y y)
++++            { }
++++    }
++++
++++    public interface IComparer<T>
++++    {
++++            int Compare (T x);
++++    }
++++
++++    public class KeyValuePairComparer<K,V> : IComparer<KeyValuePair<K,V>>
++++    {
++++            public int Compare (KeyValuePair<K,V> a)
++++            {
++++                    return 0;
++++            }
++++    }
++++
++++    public class TreeBag<T>
++++    {
++++            IComparer<T> comparer;
++++
++++            public TreeBag (IComparer<T> comparer)
++++            {
++++                    this.comparer = comparer;
++++            }
++++
++++            public int Find (ref T item)
++++            {
++++                    return comparer.Compare (item);
++++            }
++++    }
++++
++++    public class X
++++    {
++++            public static void Test ()
++++            {
++++                    KeyValuePair<int,int> pair = new KeyValuePair<int,int> (3, 89);
++++                    KeyValuePairComparer<int,int> comparer = new KeyValuePairComparer<int,int> ();
++++                    TreeBag<KeyValuePair<int,int>> bag = new TreeBag<KeyValuePair<int,int>> (comparer);
++++                    bag.Find (ref pair);
++++            }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            A.X.Test ();
++++            B.X.Test ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..22fc8e46e56c12c33938b6da71ce61db13fab2aa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,46 @@@@@
++++public struct KeyValuePair<X,Y>
++++{
++++    public KeyValuePair (X x, Y y)
++++    { }
++++}
++++
++++public interface IComparer<T>
++++{
++++    int Compare (T x);
++++}
++++
++++public class KeyValuePairComparer<K,V> : IComparer<KeyValuePair<K,V>>
++++{
++++    public int Compare (KeyValuePair<K,V> a)
++++    {
++++            return 0;
++++    }
++++}
++++
++++public class TreeBag<T>
++++{
++++    IComparer<T> comparer;
++++    T item;
++++
++++    public TreeBag (IComparer<T> comparer, T item)
++++    {
++++            this.comparer = comparer;
++++            this.item = item;
++++    }
++++
++++    public int Find ()
++++    {
++++            return comparer.Compare (item);
++++    }
++++}
++++
++++public class X
++++{
++++    public static void Main ()
++++    {
++++            KeyValuePair<int,int> pair = new KeyValuePair<int,int> (3, 89);
++++            KeyValuePairComparer<int,int> comparer = new KeyValuePairComparer<int,int> ();
++++            TreeBag<KeyValuePair<int,int>> bag = new TreeBag<KeyValuePair<int,int>> (comparer, pair);
++++            bag.Find ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..daa454c8f68b2e7fb6a9aac1ab4def68bfaf9af2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++using System;
++++
++++public delegate V Mapper<T,V> (T item);
++++
++++public interface ITree<T>
++++{
++++    void Map<V> (Mapper<T,V> mapper);
++++}
++++
++++public class Tree<T> : ITree<T>
++++{
++++    T item;
++++
++++    public Tree (T item)
++++    {
++++            this.item = item;
++++    }
++++
++++    public void Map<V> (Mapper<T,V> mapper)
++++    {
++++            V new_item = mapper (item);
++++    }
++++}
++++
++++class X
++++{
++++    private string themap (int i)
++++    {
++++            return String.Format ("AA {0,4} BB", i);
++++    }
++++
++++    void Test ()
++++    {
++++            Tree<int> tree = new Tree<int> (3);
++++            tree.Map (new Mapper<int,string> (themap));
++++    }
++++
++++    static void Main ()
++++    {
++++            X x = new X ();
++++            x.Test ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a7546e589a6ad57b397a21b7530dc611bd14ba53
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++using System;
++++using System.Collections.Generic;
++++
++++public class Test<T>
++++{
++++    protected T item;
++++
++++    public Test (T item)
++++    {
++++            this.item = item;
++++    }
++++
++++    public IEnumerator<T> GetEnumerator()
++++    {
++++            yield return item;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Test<int> test = new Test<int> (3);
++++            foreach (int a in test)
++++                    ;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7666b4fef7da8acc335a2ed627e3be5b7efb9ec8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,9 @@@@@
++++using System;
++++
++++class X {
++++    static void Main ()
++++    {
++++            int [] foo = null;
++++            Array.Resize (ref foo, 10);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..012bc2eb2fd7a1405c92f05bff52796d153106c0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,40 @@@@@
++++using System;
++++
++++public interface IList<R>
++++{
++++    int Map<S> (S item);
++++}
++++
++++public class List<T> : IList<T>
++++{
++++    public int Map<U> (U item)
++++    {
++++            return 1;
++++    }
++++}
++++
++++public class SpecialList<V> : IList<V>
++++{
++++    public int Map<W> (W item)
++++    {
++++            return 2;
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            IList<int> list = new List<int> ();
++++            int result = list.Map ("Hello");
++++            if (result != 1)
++++                    return 1;
++++
++++            IList<int> list2 = new SpecialList<int> ();
++++            int result2 = list2.Map ("World");
++++            if (result2 != 2)
++++                    return 2;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..847799ee504277f872f37f61827fcbc5ad3adb2f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,45 @@@@@
++++using System;
++++
++++public struct KeyValuePair<K,V>
++++{
++++    public K key;
++++    public V value;
++++
++++    public KeyValuePair(K k, V v) { key = k; value = v; }
++++
++++    public KeyValuePair(K k) { key = k; value = default(V); }
++++}
++++
++++public class Collection<T>
++++{
++++    public readonly T Item;
++++
++++    public Collection (T item)
++++    {
++++            this.Item = item;
++++    }
++++
++++    public void Find (ref T item)
++++    {
++++            item = Item;
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            KeyValuePair<int,long> p = new KeyValuePair<int,long> (3);
++++            KeyValuePair<int,long> q = new KeyValuePair<int,long> (5, 9);
++++
++++            Collection<KeyValuePair<int,long>> c = new Collection<KeyValuePair<int,long>> (q);
++++            c.Find (ref p);
++++
++++            if (p.key != 5)
++++                    return 1;
++++            if (p.value != 9)
++++                    return 2;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..47ebf9ebeef4451d4b0baa4bc32260b76e7f1452
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,66 @@@@@
++++using System;
++++
++++public interface IComparer<T>
++++{
++++    void Compare (T a);
++++}
++++
++++class IC : IComparer<Foo<int>>
++++{
++++    public void Compare (Foo<int> a)
++++    { }
++++}
++++
++++public struct Foo<K>
++++{
++++    public K Value;
++++
++++    public Foo (K value)
++++    {
++++            Value = value;
++++    }
++++}
++++
++++public class List<T>
++++{
++++    public virtual void Sort (IComparer<T> c, T t)
++++    {
++++            Sorting.IntroSort<T> (c, t);
++++    }
++++}
++++
++++public class Sorting
++++{
++++    public static void IntroSort<T> (IComparer<T> c, T t)
++++    {
++++            new Sorter<T> (c, 4, t).InsertionSort (0);
++++    }
++++
++++    class Sorter<T>
++++    {
++++            IComparer<T> c;
++++            T[] a;
++++
++++            public Sorter (IComparer<T> c, int size, T item)
++++            {
++++                    this.c = c;
++++                    a = new T [size];
++++            }
++++
++++            internal void InsertionSort (int i)
++++            {
++++                    T other;
++++                    c.Compare (other = a[i]);
++++            }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            List<Foo<int>> list = new List<Foo<int>> ();
++++            Foo<int> foo = new Foo<int> (3);
++++            list.Sort (new IC (), foo);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..93215c288dd5fc55ae3562a5241f028b00a2f3a2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++using System;
++++
++++public delegate V Mapper<T,V> (T item);
++++
++++public class List<T>
++++{
++++    public void Map<V> (Mapper<T,V> mapper)
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            List<int> list = new List<int> ();
++++            list.Map (new Mapper<int,double> (delegate (int i) { return i/10.0; }));
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..49b0026cc25664e2fb92a7b44be8e4dd640037df
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++using System;
++++using System.Collections.Generic;
++++
++++public class NaturalComparer<T> : IComparer<T>
++++    where T: IComparable<T>
++++{
++++    public int Compare (T a, T b)
++++    {
++++            return a.CompareTo (b);
++++    }
++++}
++++
++++public class X
++++{
++++    class Test : IComparable<Test>
++++    {
++++            public int CompareTo (Test that)
++++            {
++++                    return 0;
++++            }
++++
++++            public bool Equals (Test that)
++++            {
++++                    return false;
++++            }
++++    }
++++
++++    static void Main ()
++++    {
++++            IComparer<Test> cmp = new NaturalComparer<Test> ();
++++            Test a = new Test ();
++++            Test b = new Test ();
++++            cmp.Compare (a, b);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dbcfa4327388f5794436e58796720a55b83234e4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,299 @@@@@
++++//-- ex-gen-class-linkedlist
++++//-- ex-anonymous-method-linkedlist
++++//-- ex-gen-printable
++++//-- ex-gen-interface-ilist
++++//-- ex-gen-linkedlist-map
++++//-- ex-gen-linkedlistenumerator
++++//-- ex-gen-delegate-fun
++++
++++// A generic LinkedList class
++++
++++using System;
++++using System.IO;                        // TextWriter
++++using System.Collections;
++++using System.Collections.Generic;       // IEnumerable<T>, IEnumerator<T>
++++
++++public delegate R Mapper<A,R>(A x);
++++
++++public interface IMyList<T> : IEnumerable<T> {
++++  int Count { get; }                    // Number of elements
++++  T this[int i] { get; set; }           // Get or set element at index i
++++  void Add(T item);                     // Add element at end
++++  void Insert(int i, T item);           // Insert element at index i
++++  void RemoveAt(int i);                 // Remove element at index i
++++  IMyList<U> Map<U>(Mapper<T,U> f);     // Map f over all elements
++++}
++++
++++public class LinkedList<T> : IMyList<T> {
++++  protected int size;               // Number of elements in the list
++++  protected Node first, last;       // Invariant: first==null iff last==null
++++
++++  protected class Node {
++++    public Node prev, next;
++++    public T item;
++++
++++    public Node(T item) {
++++      this.item = item; 
++++    }
++++
++++    public Node(T item, Node prev, Node next) {
++++      this.item = item; this.prev = prev; this.next = next; 
++++    }
++++  }
++++
++++  public LinkedList() {
++++    first = last = null;
++++    size = 0;
++++  }
++++
++++  public LinkedList(params T[] arr) : this() {
++++    foreach (T x in arr) 
++++      Add(x);
++++  }
++++
++++  public int Count {
++++    get { return size; }
++++  }
++++
++++  public T this[int i] {
++++    get { return get(i).item; }
++++    set { get(i).item = value; }
++++  }      
++++
++++  private Node get(int n) {
++++    if (n < 0 || n >= size)
++++      throw new IndexOutOfRangeException();
++++    else if (n < size/2) {              // Closer to front
++++      Node node = first;
++++      for (int i=0; i<n; i++)
++++        node = node.next;
++++      return node;
++++    } else {                            // Closer to end
++++      Node node = last;
++++      for (int i=size-1; i>n; i--)
++++        node = node.prev;
++++      return node;
++++    }
++++  }
++++
++++  public void Add(T item) { 
++++    Insert(size, item); 
++++  }
++++
++++  public void Insert(int i, T item) { 
++++    if (i == 0) {
++++      if (first == null) // and thus last == null
++++        first = last = new Node(item);
++++      else {
++++        Node tmp = new Node(item, null, first);
++++        first.prev = tmp;
++++        first = tmp;
++++      }
++++      size++;
++++    } else if (i == size) {
++++      if (last == null) // and thus first = null
++++        first = last = new Node(item);
++++      else {
++++        Node tmp = new Node(item, last, null);
++++        last.next = tmp;
++++        last = tmp;
++++      }
++++      size++; 
++++    } else {
++++      Node node = get(i);
++++      // assert node.prev != null;
++++      Node newnode = new Node(item, node.prev, node);
++++      node.prev.next = newnode;
++++      node.prev = newnode;
++++      size++;
++++    }
++++  }
++++
++++  public void RemoveAt(int i) {
++++    Node node = get(i);
++++    if (node.prev == null) 
++++      first = node.next;
++++    else
++++      node.prev.next = node.next;
++++    if (node.next == null) 
++++      last = node.prev;
++++    else
++++      node.next.prev = node.prev;       
++++    size--;
++++  }
++++
++++  public override bool Equals(Object that) {
++++    if (that != null && GetType() == that.GetType() 
++++    && this.size == ((IMyList<T>)that).Count) {
++++      Node thisnode = this.first;
++++      IEnumerator<T> thatenm = ((IMyList<T>)that).GetEnumerator();
++++      while (thisnode != null) {
++++        if (!thatenm.MoveNext())
++++          throw new ApplicationException("Impossible: LinkedList<T>.Equals");
++++        // assert MoveNext() was true (because of the above size test)
++++        if (!thisnode.item.Equals(thatenm.Current))
++++          return false;
++++        thisnode = thisnode.next; 
++++      }
++++      // assert !MoveNext(); // because of the size test
++++      return true;
++++    } else
++++      return false;
++++  }
++++
++++  public override int GetHashCode() {
++++    int hash = 0;
++++    foreach (T x in this)
++++      hash ^= x.GetHashCode();
++++    return hash;
++++  }
++++
++++  public static explicit operator LinkedList<T>(T[] arr) {
++++    return new LinkedList<T>(arr);
++++  }
++++
++++  public static LinkedList<T> operator +(LinkedList<T> xs1, LinkedList<T> xs2) {
++++    LinkedList<T> res = new LinkedList<T>();
++++    foreach (T x in xs1) 
++++      res.Add(x);
++++    foreach (T x in xs2) 
++++      res.Add(x);
++++    return res;
++++  }
++++
++++  public IMyList<U> Map<U>(Mapper<T,U> f) {
++++    LinkedList<U> res = new LinkedList<U>();
++++    foreach (T x in this) 
++++      res.Add(f(x));
++++    return res;
++++  }
++++
++++  public IEnumerator<T> GetEnumerator() {
++++    return new LinkedListEnumerator(this);
++++  }
++++
++++  IEnumerator IEnumerable.GetEnumerator() {
++++    return new LinkedListEnumerator(this);
++++  }
++++
++++  private class LinkedListEnumerator : IEnumerator<T> {
++++    T curr;                     // The enumerator's current element
++++    bool valid;                 // Is the current element valid?
++++    Node next;                  // Node holding the next element, or null
++++
++++    public LinkedListEnumerator(LinkedList<T> lst) {
++++      next = lst.first; valid = false;
++++    }
++++    
++++    public T Current {
++++      get { 
++++        if (valid) 
++++          return curr; 
++++        else
++++          throw new InvalidOperationException();
++++      }
++++    }
++++
++++    object IEnumerator.Current {
++++      get { return Current; }
++++    }
++++    
++++    public bool MoveNext() {
++++      if (next != null)  {
++++        curr = next.item; next = next.next; valid = true;
++++      } else 
++++        valid = false; 
++++      return valid;
++++    }
++++
++++    public void Reset() {
++++      throw new NotImplementedException ();
++++    }
++++
++++    public void Dispose() {
++++      curr = default(T); next = null; valid = false;
++++    }
++++  }
++++}
++++
++++class SortedList<T> : LinkedList<T> where T : IComparable<T> {
++++  // Sorted insertion
++++  public void Insert(T x) { 
++++    Node node = first;
++++    while (node != null && x.CompareTo(node.item) > 0) 
++++      node = node.next;
++++    if (node == null)           // x > all elements; insert at end
++++      Add(x);
++++    else {                      // x <= node.item; insert before node
++++      Node newnode = new Node(x);
++++      if (node.prev == null)    // insert as first element
++++        first = newnode;
++++      else 
++++        node.prev.next = newnode;
++++      newnode.next = node;
++++      newnode.prev = node.prev;
++++      node.prev = newnode;
++++    }
++++  }
++++}
++++
++++interface IPrintable {
++++  void Print(TextWriter fs);
++++}
++++class PrintableLinkedList<T> : LinkedList<T>, IPrintable where T : IPrintable {
++++  public void Print(TextWriter fs) {
++++    bool firstElement = true;
++++    foreach (T x in this) {
++++      x.Print(fs);
++++      if (firstElement) 
++++        firstElement = false;
++++      else
++++        fs.Write(", ");
++++    }
++++  }
++++}
++++
++++class MyString : IComparable<MyString> {
++++  private readonly String s;
++++  public MyString(String s) {
++++    this.s = s;
++++  }
++++  public int CompareTo(MyString that) {
++++    return String.Compare(that.Value, s);       // Reverse ordering
++++  }
++++  public bool Equals(MyString that) {
++++    return that.Value == s;
++++  }
++++  public String Value {
++++    get { return s; }
++++  }
++++}
++++
++++class MyTest {
++++  public static void Main(String[] args) {
++++    LinkedList<double> dLst = new LinkedList<double>(7.0, 9.0, 13.0, 0.0);
++++    foreach (double d in dLst)
++++      Console.Write("{0} ", d);
++++    Console.WriteLine();
++++    IMyList<int> iLst = 
++++      dLst.Map<int>(new Mapper<double, int>(Math.Sign));
++++    foreach (int i in iLst)
++++      Console.Write("{0} ", i);
++++    Console.WriteLine();
++++    IMyList<String> sLst = 
++++      dLst.Map<String>(delegate(double d) { return "s" + d; });
++++    foreach (String s in sLst)
++++      Console.Write("{0} ", s);
++++    Console.WriteLine();
++++    // Testing SortedList<MyString>
++++    SortedList<MyString> sortedLst = new SortedList<MyString>();
++++    sortedLst.Insert(new MyString("New York"));
++++    sortedLst.Insert(new MyString("Rome"));
++++    sortedLst.Insert(new MyString("Dublin"));
++++    sortedLst.Insert(new MyString("Riyadh"));
++++    sortedLst.Insert(new MyString("Tokyo"));
++++    foreach (MyString s in sortedLst)
++++      Console.Write("{0}   ", s.Value);
++++    Console.WriteLine();
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4fe091b2b6fa7291e571ad3713c73a91a99bd459
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,51 @@@@@
++++using System;
++++
++++namespace Slow
++++{
++++    public interface ITest
++++    {
++++            void DoNothing<T>()
++++                    where T : class;
++++    }
++++
++++    public class Test : ITest
++++    {
++++            public void DoNothing<T>()
++++                    where T : class
++++            {
++++                    T x = null;
++++            }
++++    }
++++
++++    class Program
++++    {
++++            static void Main(string[] args)
++++            {
++++                    const int iterations = 10000;
++++
++++                    Test test = new Test ();
++++            
++++                    DateTime start = DateTime.Now;
++++                    Console.Write ("Calling Test.DoNothing<Program>() on an object reference...  ");
++++                    for (int i = 0; i < iterations; ++i)
++++                    {
++++                            test.DoNothing<Program> ();
++++                    }
++++                    DateTime end = DateTime.Now;
++++                    TimeSpan duration = end - start;
++++                    Console.WriteLine ("Took " + duration.TotalMilliseconds + " ms.");
++++        
++++                    ITest testInterface = test;
++++
++++                    start = DateTime.Now;
++++                    Console.Write ("Calling Test.DoNothing<Program>() on an interface reference...  ");
++++                    for (int i = 0; i < iterations; ++i)
++++                    {
++++                            testInterface.DoNothing<Program> ();
++++                    }
++++                    end = DateTime.Now;
++++                    duration = end - start;
++++                    Console.WriteLine ("Took " + duration.TotalMilliseconds + " ms.");
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..71dc3b8cd3d9bdb0afa8de23b3580e065af5de89
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++using System;
++++
++++public interface IFoo<T>
++++{ }
++++
++++public class Foo<T>
++++{
++++    public static bool Test (T x)
++++    {
++++            return x is IFoo<T>;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Foo<int>.Test (3);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..321530c04f6c53da86f4cd5111d21adfb51216d6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,116 @@@@@
++++//-- ex-gen-class-polynomial
++++
++++using System;
++++
++++// A type implements AddMul<A,R> if one can add an A to it, giving an R:
++++
++++interface AddMul<A,R> {
++++  R Add(A e);                   // Addition with A, giving R
++++  R Mul(A e);                   // Multiplication with A, giving R
++++}
++++
++++// Polynomials over E, Polynomial<E>:
++++
++++// The base type E of the polynomial must support addition,
++++// multiplication and zero (via the nullary constructor).  That's what
++++// the type parameter constraint on E says.
++++
++++// In return, one can add an E or a polynomial over E to a polynomial
++++// over E.  Similarly, a polynomial over E can be multiplied by an E
++++// or by a polynomial over E.  That's what the interface clauses say.
++++
++++class Polynomial<E> : AddMul<E,Polynomial<E>>,
++++                      AddMul<Polynomial<E>,Polynomial<E>>
++++  where E : AddMul<E,E>, new() {
++++  // cs contains coefficients of x^0, x^1, ...; absent coefficients are zero.
++++  // Invariant: cs != null && cs.Length >= 0; cs.Length==0 represents zero.
++++  private readonly E[] cs;  
++++
++++  public Polynomial() { 
++++    this.cs = new E[0];
++++  }
++++
++++  public Polynomial(E[] cs) { 
++++    this.cs = cs;
++++  }
++++
++++  public Polynomial<E> Add(Polynomial<E> that) {
++++    int newlen = Math.Max(this.cs.Length, that.cs.Length);
++++    int minlen = Math.Min(this.cs.Length, that.cs.Length);
++++    E[] newcs = new E[newlen];
++++    if (this.cs.Length <= that.cs.Length) {
++++      for (int i=0; i<minlen; i++)
++++        newcs[i] = this.cs[i].Add(that.cs[i]);
++++      for (int i=minlen; i<newlen; i++)
++++        newcs[i] = that.cs[i];
++++    } else {
++++      for (int i=0; i<minlen; i++)
++++        newcs[i] = this.cs[i].Add(that.cs[i]);
++++      for (int i=minlen; i<newlen; i++)
++++        newcs[i] = this.cs[i];
++++    }
++++    return new Polynomial<E>(newcs);
++++  }
++++
++++  public Polynomial<E> Add(E that) {
++++    return this.Add(new Polynomial<E>(new E[] { that }));
++++  } 
++++
++++  public Polynomial<E> Mul(E that) {
++++    E[] newcs = new E[cs.Length];
++++    for (int i=0; i<cs.Length; i++)
++++      newcs[i] = that.Mul(cs[i]);
++++    return new Polynomial<E>(newcs);
++++  }
++++
++++  public Polynomial<E> Mul(Polynomial<E> that) {
++++    int newlen = Math.Max(1, this.cs.Length + that.cs.Length - 1);
++++    E[] newcs = new E[newlen];
++++    for (int i=0; i<newlen; i++) {
++++      E sum = new E();                     // Permitted by constraint E : new()
++++      int start = Math.Max(0, i-that.cs.Length+1);
++++      int stop  = Math.Min(i, this.cs.Length-1);
++++      for (int j=start; j<=stop; j++) {
++++        // assert 0<=j && j<this.cs.Length && 0<=i-j && i-j<that.cs.Length;
++++        sum = sum.Add(this.cs[j].Mul(that.cs[i-j]));
++++      }
++++      newcs[i] = sum;
++++    }
++++    return new Polynomial<E>(newcs);
++++  }
++++
++++  public E Eval(E x) {
++++    E res = new E();                       // Permitted by constraint E : new()
++++    for (int j=cs.Length-1; j>=0; j--) 
++++      res = res.Mul(x).Add(cs[j]);
++++    return res;
++++  }
++++}  
++++
++++struct Int : AddMul<Int,Int> {
++++  private readonly int i;
++++  public Int(int i) {
++++    this.i = i;
++++  }
++++  public Int Add(Int that) {
++++    return new Int(this.i + that.i);
++++  }
++++  public Int Mul(Int that) {
++++    return new Int(this.i * that.i);
++++  }
++++  public override String ToString() {
++++    return i.ToString();
++++  }
++++}
++++
++++class TestPolynomial {
++++  public static void Main(String[] args) {
++++    // The integer polynomial 2 + 5x + x^2
++++    Polynomial<Int> ip = 
++++      new Polynomial<Int>(new Int[] { new Int(2), new Int(5), new Int(1) });
++++    Console.WriteLine(ip.Eval(new Int(10)));            // 152
++++    Console.WriteLine(ip.Add(ip).Eval(new Int(10)));    // 304 = 152 + 152
++++    Console.WriteLine(ip.Mul(ip).Eval(new Int(10)));    // 23104 = 152 * 152
++++  }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..38beb2b90b90d71fc6391477e289f279d827dfd9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++// Compiler options: -unsafe
++++using System;
++++
++++public class Tests {
++++
++++    public unsafe static void Main () {
++++            Console.WriteLine (typeof (void).Name);
++++            Console.WriteLine (typeof (void*).Name);
++++            Console.WriteLine (typeof (void**).Name);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3dec350d0fc8ee092ef4bb6eb410f1c917c242c5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,33 @@@@@
++++using System;
++++
++++public interface ISequenced<T>
++++{
++++    bool Equals (ISequenced<T> that);
++++}
++++
++++public class SequencedHasher <S,W>
++++    where S : ISequenced<W>
++++{
++++        public bool Equals (S i1, S i2)
++++    {
++++            return i1 == null ? i2 == null : i1.Equals (i2);
++++    }
++++}
++++
++++public class Sequenced<T> : ISequenced<T>
++++{
++++    public bool Equals (ISequenced<T> that)
++++    {
++++            return false;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Sequenced<int> s = new Sequenced<int> ();
++++            SequencedHasher<Sequenced<int>,int> hasher = new SequencedHasher<Sequenced<int>,int> ();
++++            hasher.Equals (s, s);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4357196690e591a1d8370fe0a01642ed39171eb7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++public class B<T>
++++{
++++    public int Add (T obj)
++++    {
++++            return -1;
++++    }
++++
++++    public void AddRange (object o)
++++    {
++++            T obj = (T) o;
++++            Add (obj);
++++    }
++++}
++++
++++public interface IA
++++{
++++}
++++
++++public class A : IA
++++{
++++}
++++
++++public class Test
++++{
++++    public static void Main ()
++++    {
++++            B<IA> aux = new B<IA> ();
++++            aux.AddRange (new A ());
++++    }               
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2ec8725936fad8e9ca901a937c59c15774edb7d9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++    class Test
++++    {
++++        static void Main(string[] args)
++++        {
++++            A<int> a = new A<int>(new A<int>.B(D), 3);
++++            a.Run();
++++        }
++++        public static void D(int y)
++++        {
++++            System.Console.WriteLine("Hello " + 3);
++++        }
++++    }
++++    class A<T>
++++    {
++++        public delegate void B(T t);
++++
++++        protected B _b;
++++        protected T _value;
++++
++++        public A(B b, T value)
++++        {
++++          _b = b;
++++          _value = value;
++++      }
++++        public void Run()
++++        {
++++            _b(_value);
++++        }
++++    }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..571d5a119e68f55e1b24d250068a505cc6e41aaa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++class A<T>
++++{
++++    public delegate void Foo ();
++++    public delegate void Bar<U> ();
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b678b148ce22c8d703c98477a24478bef789a4d5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++using System;
++++
++++interface IFoo <T>
++++{
++++        T this [int index] {
++++                get; set;
++++        }
++++}
++++
++++public class FooCollection <T> : IFoo <T>
++++{
++++        T IFoo<T>.this [int index] {
++++                get {
++++                        return default(T);
++++                }
++++                set {
++++                }
++++        }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            IFoo<int> foo = new FooCollection<int> ();
++++            int a = foo [3];
++++            Console.WriteLine (a);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dbaf588107a107ff1dbea629f1aa7443dabab037
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@
++++using System;
++++
++++public interface IA<T> where T : struct {
++++
++++}
++++
++++public class B<T> : IA<T> where T:struct {
++++
++++}
++++
++++public class MainClass {
++++        public static void Main () {}
++++
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9a38f032eabd1d025d6433967167b9221c9c9716
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++using System.Collections.Generic;
++++
++++// comment this line to see another bug in gmcs (unrelated)
++++interface IB { bool foo (); }
++++
++++
++++class B : IB { public bool foo () { return true; } }
++++
++++interface Filter <T> where T : IB {
++++  T Is (IB x);
++++
++++}
++++
++++struct K : IB {
++++  public bool foo () { return false; }
++++
++++}
++++
++++class MyFilter : Filter <K> {
++++  public K Is (IB x) { return new K(); }
++++}
++++
++++class MyBFilter : Filter <B> {
++++  public B Is (IB x) { return new B(); }
++++}
++++
++++class M {
++++ 
++++  static List<T> foo1 <T> (Filter <T> x) where T : IB {
++++    List <T> result = new List <T>();
++++    T maybe = x.Is (new B());
++++    if (maybe != null)
++++      result.Add (maybe);
++++    return result;
++++  }
++++ 
++++  static void Main () {
++++       MyFilter m = new MyFilter ();
++++        System.Console.WriteLine (foo1 <K> (m).Count);
++++        MyBFilter mb = new MyBFilter ();
++++        System.Console.WriteLine (foo1 <B> (mb).Count);
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2a73fe72117da43bedb4e5fc81a6b55199176518
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,26 @@@@@
++++public class A<T>
++++{
++++    public delegate void Changed (A<T> a);
++++
++++    protected event Changed _changed;
++++
++++    public void Register (Changed changed)
++++    {
++++            _changed += changed;
++++            _changed (this);
++++    }
++++}
++++
++++public class Test
++++{
++++    public static void Main ()
++++    {
++++            A<int> a = new A<int> ();
++++            a.Register (new A<int>.Changed (Del));
++++    }
++++
++++    public static void Del (A<int> a)
++++    {
++++            System.Console.WriteLine ("Solved");
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..465ed95ceb01357407b3f4927d8a1355762d9c04
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,34 @@@@@
++++using System;
++++using System.Reflection;
++++
++++namespace FLMID.Bugs.ParametersOne
++++{
++++    public class Class<T>
++++    {
++++            public void Add(T x)
++++            {
++++                    System.Console.WriteLine("OK");
++++            }
++++    }
++++    public class Test
++++    {
++++    
++++            public static void Main(string [] args)
++++            {
++++                    Class<string> instance = new Class<string>();
++++                    
++++                    MethodInfo _method = null;
++++                    
++++                    foreach(MethodInfo method in
++++typeof(Class<string>).GetMethods(BindingFlags.Instance | BindingFlags.Public))
++++                    {
++++                            if(method.Name.Equals("Add") && method.GetParameters().Length==1)
++++                            {
++++                                    _method = method;
++++                                    break;
++++                            }
++++                    }
++++                    _method.Invoke(instance , new object[]{"1"});
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..216628ace28d18830959852ab749fa243e125bfe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,32 @@@@@
++++namespace B
++++{
++++    using C;
++++
++++    partial class Test <T>
++++            where T : IA, IB
++++    { }
++++}
++++
++++namespace B
++++{
++++    partial class Test <T>
++++            where T : C.IB, C.IA
++++    { }
++++}
++++
++++namespace B
++++{
++++    partial class Test <T>
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
++++
++++namespace C {
++++    interface IA { }
++++    interface IB { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..93819d980e8a3e03233e45648a575c9ea91a3292
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++//-- ex-nullable-bool
++++
++++using System;
++++
++++class MyTest {
++++  public static void Main(String[] args) {
++++    Console.WriteLine("Note that null prints as blank or []\n");
++++    bool? b1 = null, b2 = false, b3 = true;
++++    bool? b4 = b1^b2, b5 = b1&b2, b6 = b1|b2;                     // null false null
++++    Console.WriteLine("[{0}] [{1}] [{2}]", b4, b5, b6);
++++    bool? b7 = b1^b3, b8 = b1&b3, b9 = b1|b3;                     // null null true
++++    Console.WriteLine("[{0}] [{1}] [{2}]", b7, b8, b9);
++++    Console.WriteLine(b1 ? "null is true" : "null is false");     // null is false
++++    Console.WriteLine(!b1 ? "!null is true" : "!null is false");  // !null is false
++++
++++    Console.WriteLine();
++++    bool?[] bvals = new bool?[] { null, false, true };
++++    Console.WriteLine("{0,-6} {1,-6} {2,-6} {3,-6} {4,-6}", 
++++                      "x", "y", "x&y", "x|y", "x^y");
++++    foreach (bool? x in bvals) 
++++      foreach (bool? y in bvals) 
++++        Console.WriteLine("{0,-6} {1,-6} {2,-6} {3,-6} {4,-6}", 
++++                          x, y, x&y, x|y, x^y);
++++    Console.WriteLine();
++++    Console.WriteLine("{0,-6} {1,-6}", "x", "!x");
++++    foreach (bool? x in bvals) 
++++      Console.WriteLine("{0,-6} {1,-6}", x, !x);
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2927b41eda3be55ec2e173302907c2280e75c210
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,45 @@@@@
++++//-- ex-nullable
++++
++++using System;
++++
++++class MyTest {
++++  public static void Main(String[] args) {
++++    Console.WriteLine("Note that null prints as blank or []\n");
++++    int? i1 = 11, i2 = 22, i3 = null, i4 = i1+i2, i5 = i1+i3;
++++    // Values: 11 22 null 33 null
++++    Console.WriteLine("[{0}] [{1}] [{2}] [{3}] [{4}]", i1, i2, i3, i4, i5);
++++    int i6 = (int)i1;                           // Legal
++++    // int i7 = (int)i5;                        // Legal but fails at run-time
++++    // int i8 = i1;                             // Illegal
++++
++++    int?[] iarr = { i1, i2, i3, i4, i5 };
++++    i2 += i1;
++++    i2 += i4;
++++    Console.WriteLine("i2 = {0}", i2);          // 66 = 11+22+33
++++
++++    int sum = 0;
++++    for (int i=0; i<iarr.Length; i++)
++++      sum += iarr[i] != null ? iarr[i].Value : 0;
++++      //      sum += iarr[i] ?? 0;
++++    Console.WriteLine("sum = {0}", sum);        // 66 = 11+22+33
++++
++++    for (int i=0; i<iarr.Length; i++)
++++      if (iarr[i] > 11)
++++        Console.Write("[{0}] ", iarr[i]);       // 22 33
++++    Console.WriteLine();
++++
++++    for (int i=0; i<iarr.Length; i++)
++++      if (iarr[i] != i1)
++++        Console.Write("[{0}] ", iarr[i]);       // 22 null 33 null
++++    Console.WriteLine();
++++    Console.WriteLine();
++++    int?[] ivals = { null, 2, 5 };
++++    Console.WriteLine("{0,6} {1,6} {2,6} {3,6} {4,-6} {5,-6} {6,-6} {7,-6}", 
++++                      "x", "y", "x+y", "x-y", "x<y", "x>=y", "x==y", "x!=y");
++++    Console.WriteLine();
++++    foreach (int? x in ivals) 
++++      foreach (int? y in ivals) 
++++        Console.WriteLine("{0,6} {1,6} {2,6} {3,6} {4,-6} {5,-6} {6,-6} {7,-6}", 
++++                          x, y, x+y, x-y, (x<y), (x>=y), x==y, x!=y);
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c87da9d304a317d66173c6db442bc0a9c694ef64
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++//-- ex-nullable-sqrt
++++
++++using System;
++++
++++class MyTest {
++++  public static int? Sqrt(int? x) {
++++    if (x.HasValue && x.Value >= 0)
++++      return (int)(Math.Sqrt(x.Value));
++++    else
++++      return null;
++++  }
++++
++++  public static void Main(String[] args) {
++++    // Prints :2:::
++++    Console.WriteLine(":{0}:{1}:{2}:", Sqrt(5), Sqrt(null), Sqrt(-5));
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..35162455e6a9b4f944b732da09eb910746d60752
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@
++++// Not used -- ex-nullable-struct
++++
++++// Converting a struct from S to S? creates a copy of the struct.
++++// Getting the struct out of the non-null value creates another copy.
++++
++++using System;
++++
++++struct S {
++++  private int x;
++++  public int X {
++++    get { return x; }
++++    set { this.x = value; } // Cannot be used on non-variable ns.Value
++++  }
++++  public void Set(int x) {
++++    this.x = x;
++++  }
++++}
++++
++++class MyTest {
++++  public static void Main(String[] args) {
++++    S s = new S();
++++    s.Set(11);
++++    Console.WriteLine("s.X = {0}", s.X);
++++    S? ns = s;
++++    Console.WriteLine("s.X = {0} ns.Value.X = {1}", s.X, ns.Value.X);
++++    ns.Value.Set(22);
++++    Console.WriteLine("s.X = {0} ns.Value.X = {1}", s.X, ns.Value.X);
++++    s.Set(33);
++++    Console.WriteLine("s.X = {0} ns.Value.X = {1}", s.X, ns.Value.X);
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ff49809f27159b7d82190d9a7bf1a625985e9285
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,41 @@@@@
++++// sestoft@dina.kvl.dk * 2004-08
++++
++++using System;
++++
++++class MyTest {
++++  public static void Main(String[] args) {
++++    Foo<int?> fni1 = new Foo<int?>(null);
++++    Console.WriteLine(fni1.Fmt());
++++    Foo<int?> fni2 = new Foo<int?>(17);
++++    Console.WriteLine(fni2.Fmt());
++++    Foo<int> fi = new Foo<int>(7);
++++    Console.WriteLine(fi.Fmt());
++++    Foo<String> fs1 = new Foo<String>(null);
++++    Console.WriteLine(fs1.Fmt());
++++    Foo<String> fs2 = new Foo<String>("haha");
++++    Console.WriteLine(fs2.Fmt());
++++  }
++++}
++++
++++class Foo<T> {
++++  T x;
++++  public Foo(T x) { 
++++    this.x = x;
++++  }
++++  
++++  // This shows how to deal with tests for null in a generic setting
++++  // where null may mean both `null reference' and `null value of a
++++  // nullable type'.  Namely, the test (x == null) will always be
++++  // false if the generic type parameter t is instantiated with a
++++  // nullable type.  Reason: the null literal will be considered a
++++  // null reference and x will be boxed if a value type, and hence the
++++  // comparison will be false...
++++
++++  public String Fmt() {
++++    if (x is INullableValue && ((INullableValue)x).HasValue
++++    || !(x is INullableValue) && x != null)
++++      return x.ToString();
++++    else
++++      return "null";
++++  }  
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..46b304a961931924de7659a5395205d30688386b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++using System;
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            int? a = null;
++++            int b = 3;
++++            long? c = a;
++++            Console.WriteLine (c);
++++            long? d = b;
++++            byte? f = (byte?) d;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..14d038fc301dc73bdd713e010bcbe23d585c4c15
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,44 @@@@@
++++using System;
++++
++++namespace Martin {
++++    public class A
++++    {
++++            public readonly long Data;
++++
++++            public A (long data)
++++            {
++++                    this.Data = data;
++++            }
++++
++++            public static explicit operator B (A a)
++++            {
++++                    return new B ((int) a.Data);
++++            }
++++    }
++++
++++    public class B
++++    {
++++            public readonly int Data;
++++
++++            public B (int data)
++++            {
++++                    this.Data = data;
++++            }
++++
++++            public static implicit operator A (B b)
++++            {
++++                    return new A (b.Data);
++++            }
++++    }
++++
++++    class X
++++    {
++++            static void Main ()
++++            {
++++                    B? b = new B (5);
++++                    A? a = b;
++++                    B? c = (B?) a;
++++                    B? d = (Martin.B?) a;
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..880f3e8ee285919c4ce5a070aeba3611f9b31fb2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++using System;
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            int? a = 4;
++++            int? b = -a;
++++            Console.WriteLine (b);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1065205b7ce7765c3f72295c1f2817258243cf00
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,12 @@@@@
++++using System;
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            int? a = 4;
++++            long b = 5;
++++            long? c = a * b;
++++            Console.WriteLine (c);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7b187e147bdfbfe392f908ae1c99f7faff562687
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++using System;
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            bool? a = true;
++++            int? b = a ? 3 : 4;
++++            Console.WriteLine (b);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1b8b5549ad6204ec32e6c5348269736e4c433f25
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++using System;
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            int?[] bvals = new int?[] { null, 3, 4 };
++++            foreach (long? x in bvals) 
++++                    Console.WriteLine (x);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d94be3e0103971e62906ca118bd31d9365b170ea
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++using System;
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            int?[] bvals = new int? [] { null, 3, 4 };
++++            foreach (int? x in bvals) 
++++                    Console.WriteLine (x);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d875ad667ccf2a9ea78df4285035f097def43bee
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,131 @@@@@
++++using System;
++++
++++public static class Assert
++++{
++++    public static int Errors {
++++            get { return errors; }
++++    }
++++
++++    static int errors = 0;
++++
++++    static void Error (string method, string text)
++++    {
++++            Console.WriteLine ("Assert failed: {0} ({1})", method, text);
++++            errors++;
++++    }
++++
++++    public static void IsTrue (string text, bool b)
++++    {
++++            if (!b)
++++                    Error ("IsTrue", text);
++++    }
++++
++++    public static void IsFalse (string text, bool b)
++++    {
++++            if (b)
++++                    Error ("IsFalse", text);
++++    }
++++
++++    public static void IsNull<T> (string text, Nullable<T> nullable)
++++    {
++++            if (nullable.HasValue)
++++                    Error ("IsNull", text);
++++    }
++++
++++    public static void IsNotNull<T> (string text, Nullable<T> nullable)
++++    {
++++            if (!nullable.HasValue)
++++                    Error ("IsNotNull", text);
++++    }
++++
++++    public static void IsTrue (string text, Nullable<bool> b)
++++    {
++++            if (!b.HasValue || !b.Value)
++++                    Error ("IsTrue", text);
++++    }
++++
++++    public static void IsFalse (string text, Nullable<bool> b)
++++    {
++++            if (!b.HasValue || b.Value)
++++                    Error ("IsFalse", text);
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            bool? a = null, b = false, c = true;
++++            bool? d = null, e = false, f = true;
++++
++++            Assert.IsNull ("a", a);
++++            Assert.IsFalse ("b", b);
++++            Assert.IsTrue ("c", c);
++++            Assert.IsTrue ("a == d", a == d);
++++            Assert.IsTrue ("b == e", b == e);
++++            Assert.IsTrue ("c == f", c == f);
++++
++++            Assert.IsFalse ("a != d", a != d);
++++            Assert.IsFalse ("a == b", a == b);
++++            Assert.IsTrue ("a != b", a != b);
++++
++++            Assert.IsNull ("d & a", d & a);
++++            Assert.IsFalse ("d & b", d & b);
++++            Assert.IsNull ("d & c", d & c);
++++            Assert.IsFalse ("e & a", e & a);
++++            Assert.IsFalse ("e & b", e & b);
++++            Assert.IsFalse ("e & c", e & c);
++++            Assert.IsNull ("f & a", f & a);
++++            Assert.IsFalse ("f & b", f & b);
++++            Assert.IsTrue ("f & c", f & c);
++++
++++            Assert.IsNull ("d | a", d | a);
++++            Assert.IsNull ("d | b", d | b);
++++            Assert.IsTrue ("d | c", d | c);
++++            Assert.IsNull ("e | a", e | a);
++++            Assert.IsFalse ("e | b", e | b);
++++            Assert.IsTrue ("e | c", e | c);
++++            Assert.IsTrue ("f | a", f | a);
++++            Assert.IsTrue ("f | b", f | b);
++++            Assert.IsTrue ("f | c", f | c);
++++
++++            Assert.IsNull ("d && a", d && a);
++++            Assert.IsFalse ("d && b", d && b);
++++            Assert.IsNull ("d && c", d && c);
++++            Assert.IsFalse ("e && a", e && a);
++++            Assert.IsFalse ("e && b", e && b);
++++            Assert.IsFalse ("e && c", e && c);
++++            Assert.IsNull ("f && a", f && a);
++++            Assert.IsFalse ("f && b", f && b);
++++            Assert.IsTrue ("f && c", f && c);
++++
++++            Assert.IsNull ("d || a", d || a);
++++            Assert.IsNull ("d || b", d || b);
++++            Assert.IsTrue ("d || c", d || c);
++++            Assert.IsNull ("e || a", e || a);
++++            Assert.IsFalse ("e || b", e || b);
++++            Assert.IsTrue ("e || c", e || c);
++++            Assert.IsTrue ("f || a", f || a);
++++            Assert.IsTrue ("f || b", f || b);
++++            Assert.IsTrue ("f || c", f || c);
++++
++++            int? g = 3, h = null, i = 3, j = null;
++++
++++            Assert.IsFalse ("g == null", g == null);
++++            Assert.IsTrue ("g != null", g != null);
++++            Assert.IsTrue ("h == null", h == null);
++++            Assert.IsFalse ("h != null", h != null);
++++
++++            Assert.IsTrue ("g == i", g == i);
++++            Assert.IsFalse ("g != i", g != i);
++++            Assert.IsFalse ("g == j", g == j);
++++            Assert.IsTrue ("g != j", g != j);
++++            Assert.IsFalse ("h == i", h == i);
++++            Assert.IsTrue ("h != i", h != i);
++++            Assert.IsTrue ("h == j", h == j);
++++            Assert.IsFalse ("h != j", h != j);
++++
++++            Console.WriteLine ("{0} errors.", Assert.Errors);
++++            return Assert.Errors;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6a9f561c2e55327d6643f2592e4cc4ec3434aa50
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,45 @@@@@
++++using System;
++++
++++class X
++++{
++++    static int Test ()
++++    {
++++            int? a = 5;
++++            int? b = a++;
++++
++++            if (a != 6)
++++                    return 1;
++++            if (b != 5)
++++                    return 2;
++++
++++            int? c = ++a;
++++
++++            if (c != 7)
++++                    return 3;
++++
++++            b++;
++++            ++b;
++++
++++            if (b != 7)
++++                    return 4;
++++
++++            int? d = b++ + ++a;
++++
++++            if (a != 8)
++++                    return 5;
++++            if (b != 8)
++++                    return 6;
++++            if (d != 15)
++++                    return 7;
++++
++++            return 0;
++++    }
++++
++++    static int Main ()
++++    {
++++            int result = Test ();
++++            if (result != 0)
++++                    Console.WriteLine ("ERROR: {0}", result);
++++            return result;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8b2a166638304a0775a8b14bc103e5fdba31f5b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++using System;
++++
++++namespace Test
++++{
++++    public class Application
++++    {
++++            public static void Main()
++++            {
++++                    string[] array = new string[10];
++++
++++                    System.Collections.Generic.IEnumerable<string> enumer = array;
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..66a65dc17a378a86376de8e7a355cbb3c7f21ad8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++using System;
++++public class Test<T>{
++++        private T[,] data;
++++        public Test(T[,] data){
++++                this.data = data;
++++        }
++++}
++++public class Program{
++++        public static void Main(string[] args){
++++                Test<double> test = new Test<double>(new double[2,2]);
++++        }
++++}     
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..667d19d4e39c3a45fc5c6860a0da0b5b6ba55f7e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++using System;
++++
++++public class MyLinkedList<T> {
++++    protected Node first;
++++
++++    protected class Node
++++    {
++++            public T item;
++++
++++            public Node (T item)
++++            {
++++                    this.item = item; 
++++            }
++++    }
++++}
++++
++++class SortedList<U> : MyLinkedList<U>
++++{
++++    public void Insert (U x) { 
++++            Node node = first;
++++    }
++++}
++++
++++class X {
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e16a86a033bccf8d62d7330c6e21355c4334eebe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,38 @@@@@
++++namespace A
++++{
++++    interface IFoo
++++    {
++++        void Hello (IFoo foo);
++++    }
++++}
++++
++++namespace B
++++{
++++  partial class Test <T> : IDoo, A.IFoo where T : A.IFoo
++++    { }
++++}
++++
++++namespace B
++++{
++++    using A;
++++
++++    partial class Test <T> : Y, IFoo where T : IFoo
++++    {
++++        void IFoo.Hello (IFoo foo)
++++        { }
++++    }
++++}
++++
++++interface IDoo { }
++++
++++class Y { }
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
++++
++++
++++
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..be06afa96a2473a840f166dbed4575b9f755c3ac
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++using System;
++++
++++static class Test1 {
++++  public class IOp<T> { }
++++  static void Foo<S,OP>(uint v) where OP : IOp<S> { }
++++};
++++
++++static class Test2 {
++++  public class IOp<T> { }
++++  static void Foo<T,OP>(uint v) where OP : IOp<T> { }
++++};
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..be06afa96a2473a840f166dbed4575b9f755c3ac
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++using System;
++++
++++static class Test1 {
++++  public class IOp<T> { }
++++  static void Foo<S,OP>(uint v) where OP : IOp<S> { }
++++};
++++
++++static class Test2 {
++++  public class IOp<T> { }
++++  static void Foo<T,OP>(uint v) where OP : IOp<T> { }
++++};
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..31cbe55a22a8b6ce11a48faec72bf2030114046a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++using System;
++++static class Test1 {
++++  public interface IOp<T> {
++++    T Func(uint v);
++++  }
++++  public struct Op : IOp<ushort>, IOp<uint> {
++++    ushort IOp<ushort>.Func(uint v) { return (ushort )(v * 2); }
++++    uint IOp<uint>.Func(uint v) { return v * 4; }
++++  }
++++  static void Foo<T,OP>(uint v) where T:struct where OP : IOp<T> {
++++    OP op = default(OP);
++++    System.Console.WriteLine( op.Func(v) );
++++  }
++++  static public void Main() {
++++    Foo<ushort, Op>(100);
++++    Foo<uint, Op>(100);
++++  }
++++};
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..54fd9cceb617d3671e7082fa0c847864fc0c695c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,12 @@@@@
++++class Test<T> where T: struct{
++++   public Test(){
++++      T s = new T();
++++   }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..35f062870bb7f24b0189cf4b8d8b51dd88a095d5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,47 @@@@@
++++using System;
++++
++++public interface IFoo
++++{
++++    IFoo Hello ();
++++}
++++
++++public interface IFoo<T> : IFoo
++++{
++++    new IFoo<T> Hello ();
++++}
++++
++++public interface ICollectionValue<T>: IFoo<T>
++++{
++++}
++++
++++public interface ICollection<T>: ICollectionValue<T>
++++{ }
++++
++++public abstract class EnumerableBase<T> : IFoo<T>
++++{
++++    public abstract IFoo<T> Hello();
++++
++++    IFoo IFoo.Hello ()
++++    {
++++            return Hello ();
++++    }
++++}
++++
++++public abstract class CollectionBase<T> : EnumerableBase<T>
++++{
++++}
++++
++++public class HashBag<T>: CollectionBase<T>, ICollection<T>
++++{
++++    public override IFoo<T> Hello ()
++++    {
++++            return this;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7b615431c2ab94c93dbb2b5a6527de653dd1aa3a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++public interface IBase
++++{
++++    void DoSomeThing();
++++}
++++
++++public interface IExtended : IBase
++++{
++++    void DoSomeThingElse();
++++}
++++
++++public class MyClass<T> where T: IExtended, new()
++++{
++++    public MyClass()
++++    {
++++            T instance = new T();
++++            instance.DoSomeThing();
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..318a6d2fd324949469d9830d0619578a818fb42c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++public delegate int T<X> (X x);
++++
++++public class B
++++{
++++    public static T<X> M<X> ()
++++    {
++++            return delegate(X x) { return 5; };
++++    }
++++
++++    public static T<long> N ()
++++    {
++++            return delegate(long x) { return 6; };
++++    }
++++}
++++
++++public class D
++++{
++++    public static void Main ()
++++    {
++++            B.M<int>();
++++            B.N ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7b615431c2ab94c93dbb2b5a6527de653dd1aa3a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++public interface IBase
++++{
++++    void DoSomeThing();
++++}
++++
++++public interface IExtended : IBase
++++{
++++    void DoSomeThingElse();
++++}
++++
++++public class MyClass<T> where T: IExtended, new()
++++{
++++    public MyClass()
++++    {
++++            T instance = new T();
++++            instance.DoSomeThing();
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..11b920c4d1ea5e1a77d4ea6ee326b38ca4d81ca8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++// Compiler options: -t:library
++++
++++namespace FLMID.Bugs.Marshal15
++++{
++++    public class A<T>
++++
++++    {
++++
++++    }
++++    public abstract class B
++++    {
++++            protected A<bool> _aux;
++++    }
++++    public class X : B
++++    {
++++    }
++++    public abstract class C
++++    {
++++            protected B _layout;
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1009ea0262ce99355cfa0930dda04e9cd91934e2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++// Compiler options: -r:gtest-156-lib.dll
++++
++++namespace FLMID.Bugs.Marshal15
++++{
++++    public class D : C
++++    {
++++            public D()
++++            {
++++                    _layout = new X();
++++            }
++++            public static void Main(string[] args)
++++            {
++++                    System.Console.WriteLine("OK");
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f314b01af4a8ea47481aa43173be8fee758a2e5e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++interface a <t> { void x (); }
++++
++++interface b <t> : a <t> {}
++++
++++class kv <k,v> {} // type t
++++
++++interface c <k,v>: b <kv<k,v>>,  // b <t>
++++                   a <kv<k,v>>    // a <t>
++++{}
++++
++++class m <k,v> : c <k,v>,
++++                b <kv<k,v>> // b <t>
++++{
++++        void a <kv <k,v>>.x () {} // a<t>.x ()
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5f547f9df716f516ef98a430329003be4f983a17
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++public class Moo<C>
++++    where C : Moo<C>.Foo
++++{
++++    public class Foo
++++    { }
++++}
++++
++++public class Test : Moo<Test>.Foo
++++{
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    {
++++            Moo<Test> moo = new Moo<Test> ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..09e1ea791a43f3f66f6db49172d99c283a5adcc8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++using System;
++++using System.Collections.Generic;
++++
++++public class App {
++++  public static void Main() {
++++    Dictionary<string, int> values = new Dictionary<string, int>();
++++    values["one"] = 1; values["two"] = 2;
++++
++++    foreach (string key in values.Keys) {
++++      System.Console.WriteLine("key: {0}", key);
++++    }
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b2b69ae2ea199a428cef7cc6e6a96bc47a83eaa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++class Fun<A,B> {}
++++
++++class List<T> {
++++  public List<T2> Map<T2> (Fun<T,T2> x)
++++  {
++++    return new List<T2>();
++++  }
++++
++++  public void foo<T2> ()
++++  {
++++    (new List<T2> ()).Map<T> (new Fun<T2,T> ());
++++  }
++++}
++++
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3ca3e4e460b0e3434444b644ce0595a28b2473c8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,7 @@@@@
++++// Compiler options: -t:library
++++public class FP {
++++ public delegate U Mapping<T, U>(T obj);
++++
++++ public static T identity<T>(T obj) { return obj; }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c538f6bd93d9052ab91e426b0020a4fc2fd6b088
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -r:gtest-161-lib.dll
++++public class App {
++++  public static void Main() {
++++    string s = apply<int, string>(3,
++++                                  delegate (int x) {
++++                                    return x.ToString(); });
++++    int y = apply<int, int>(3, FP.identity<int>);
++++  }
++++
++++  static U apply<T, U>(T obj, FP.Mapping<T, U> f) {
++++    return f(obj);
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b7a739b7124d9629c5efdbe9e10352107090d7b6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++using System;
++++using System.Reflection;
++++
++++public class Generic<T>
++++{
++++    public delegate void Delegate(Generic<T> proxy, T value);
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            Type t = typeof (Generic<bool>);
++++            MemberInfo[] mi = t.FindMembers (MemberTypes.NestedType,
++++                                             BindingFlags.Static | BindingFlags.Public |
++++                                             BindingFlags.DeclaredOnly, null, null);
++++
++++            return mi.Length - 1;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5352bb455ae37602a252c4d390b11ea48c99486d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++using System;
++++using System.Collections;
++++using System.Collections.Generic;
++++
++++public class Foo<T>
++++{
++++    public IEnumerator<T> getEnumerator (int arg)
++++    {
++++            if (arg == 1) {
++++                    int foo = arg;
++++                    Console.WriteLine (foo);
++++            }
++++
++++            if (arg == 2) {
++++                    int foo = arg;
++++                    Console.WriteLine (foo);
++++            }
++++
++++            yield break;
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5863084801c5bb856459e1b49c7ece6f1605cf81
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++using System;
++++using System.Collections;
++++using System.Collections.Generic;
++++
++++public delegate int Int2Int (int i);
++++
++++public class FunEnumerable
++++{
++++    int size;
++++    Int2Int f;
++++
++++    public FunEnumerable(int size, Int2Int f)
++++    {
++++            this.size = size; this.f = f;
++++    }
++++
++++    public IEnumerator<int> GetEnumerator()
++++    {
++++            yield return f (size);
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6ed567b228835f4e4e418c5ecd21d01dea8ad0b4
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,33 @@@@@
++++using System;
++++using System.Collections;
++++ 
++++class X {
++++        delegate void A ();
++++ 
++++        static IEnumerable GetIt (int [] args)
++++        {
++++                foreach (int arg in args) {
++++                        Console.WriteLine ("OUT: {0}", arg);
++++                        A a = delegate {
++++                                Console.WriteLine ("arg: {0}", arg);
++++                            return;
++++                        };
++++                        a ();
++++                        yield return arg;
++++                }
++++        }
++++ 
++++        static int Main ()
++++        {
++++                int total = 0;
++++                foreach (int i in GetIt (new int [] { 1, 2, 3})){
++++                        Console.WriteLine ("Got: " + i);
++++                        total += i;
++++                }
++++ 
++++                if (total != 6)
++++                        return 1;
++++ 
++++                return 0;
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..61b92f1e7339e355136019cecb88cde589d258bd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,6 @@@@@
++++// Compiler options: -t:library -unsafe
++++
++++public unsafe struct ExternalStruct
++++{
++++    public fixed double double_buffer [4];
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ccfa38d0aecaa1572ebf8d2bc4f44c2eedaba93d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,55 @@@@@
++++// Compiler options: -unsafe -r:gtest-166-lib.dll
++++
++++// Fixed buffers tests
++++
++++using System;
++++
++++public unsafe struct TestNew {
++++    private fixed char test_1 [128];
++++    public fixed bool test2 [4];
++++    
++++    public fixed int T [2];
++++    public fixed bool test20 [4], test21 [40];
++++    
++++    private int foo, foo2;
++++    public void SetTest () {
++++            fixed (char* c = test_1) {
++++                    *c = 'g';
++++            }
++++    }
++++}
++++
++++public class C {
++++    unsafe static int Test () {
++++            TestNew tt = new TestNew ();
++++            tt.SetTest ();
++++            tt.test2 [2] = false;
++++            tt.T [1] = 5544;
++++            if (tt.T [1] != 5544)
++++                    return 2;
++++    
++++            ExternalStruct es = new ExternalStruct ();
++++            es.double_buffer [1] = 999999.8888;
++++            es.double_buffer [0] = es.double_buffer [1];
++++
++++            // Attributes test
++++            if (Attribute.GetCustomAttribute (typeof (TestNew).GetField ("test2"), typeof (System.Runtime.CompilerServices.FixedBufferAttribute)) == null)
++++                    return 3;
++++
++++            
++++            if (typeof (TestNew).GetNestedTypes ().Length != 5)
++++                    return 5;
++++
++++            foreach (Type t in typeof (TestNew).GetNestedTypes ()) {
++++                    if (Attribute.GetCustomAttribute (t, typeof (System.Runtime.CompilerServices.CompilerGeneratedAttribute)) == null)
++++                            return 4;
++++            }
++++
++++            Console.WriteLine ("OK");
++++            return 0;
++++    }
++++    
++++    public static int Main () {
++++            return Test ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..579f1c9526e73b2e1dd4abb2e7a7a52b7a7ec8da
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,47 @@@@@
++++// Conditional attribute class test\r
++++#define DEBUG
++++
++++using System;
++++using System.Diagnostics;
++++
++++[Conditional("DEBUG")]
++++public class TestAttribute : Attribute {}
++++
++++[Conditional("RELEASE")]
++++public class TestNotAttribute : Attribute {}
++++
++++[Conditional("A")]
++++[Conditional("DEBUG")]    
++++[Conditional("B")]
++++public class TestMultiAttribute : Attribute {}
++++    
++++// TestAttribute is included
++++[Test]                              
++++class Class1 {}
++++    
++++// TestNotAttribute is not included
++++[TestNot]                   
++++class Class2 {}
++++
++++// Is included    
++++[TestMulti]
++++class Class3 {}
++++
++++
++++public class TestClass
++++{
++++    public static int Main ()
++++    {
++++    if (Attribute.GetCustomAttributes (typeof (Class1)).Length != 1)
++++            return 1;
++++
++++    if (Attribute.GetCustomAttributes (typeof (Class2)).Length != 0)
++++            return 1;
++++
++++    if (Attribute.GetCustomAttributes (typeof (Class3)).Length != 1)
++++            return 1;
++++    
++++    Console.WriteLine ("OK");
++++    return 0;
++++    }
++++}
diff --cc mcs/tests/i-recursive.cs
index 9c22e5876cc70e3e38283d1068fccd708ce1f8f1,9c22e5876cc70e3e38283d1068fccd708ce1f8f1,9c22e5876cc70e3e38283d1068fccd708ce1f8f1,9c22e5876cc70e3e38283d1068fccd708ce1f8f1..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,5 -1,5 -1,5 -1,5 +1,0 @@@@@
----interface A : B {
----}
----
----interface B : A {
----}
diff --cc mcs/tests/i-three.cs
index 7c473f21657c80dc0671016835c917b9821d7181,7c473f21657c80dc0671016835c917b9821d7181,7c473f21657c80dc0671016835c917b9821d7181,7c473f21657c80dc0671016835c917b9821d7181..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----interface A {
----}
----
----interface B : A{
----}
----
----interface C : A {
----}
----
----interface D : C {
----}
diff --cc mcs/tests/i-undefined.cs
index 496795cd6db021469184361e41df59031f82f5fc,496795cd6db021469184361e41df59031f82f5fc,496795cd6db021469184361e41df59031f82f5fc,496795cd6db021469184361e41df59031f82f5fc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,2 -1,2 -1,2 -1,2 +1,0 @@@@@
----interface A : B {
----}
diff --cc mcs/tests/i1.cs
index 00141820820b015b92217613d22fb2234a1d4fc4,00141820820b015b92217613d22fb2234a1d4fc4,00141820820b015b92217613d22fb2234a1d4fc4,00141820820b015b92217613d22fb2234a1d4fc4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,2 -1,2 -1,2 -1,2 +1,0 @@@@@
----interface A {\r
----}\r
diff --cc mcs/tests/i2.cs
index 9c22e5876cc70e3e38283d1068fccd708ce1f8f1,9c22e5876cc70e3e38283d1068fccd708ce1f8f1,9c22e5876cc70e3e38283d1068fccd708ce1f8f1,9c22e5876cc70e3e38283d1068fccd708ce1f8f1..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,5 -1,5 -1,5 -1,5 +1,0 @@@@@
----interface A : B {
----}
----
----interface B : A {
----}
diff --cc mcs/tests/i3.cs
index dff6c54db9da93467d4811fcdb487e8b2adf5efc,dff6c54db9da93467d4811fcdb487e8b2adf5efc,dff6c54db9da93467d4811fcdb487e8b2adf5efc,dff6c54db9da93467d4811fcdb487e8b2adf5efc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,5 -1,5 -1,5 -1,5 +1,0 @@@@@
----class X {
----}
----
----interface A : X {
----}
diff --cc mcs/tests/i4.cs
index f89988f2cb371b86cbf3044256690fabf9071b6b,f89988f2cb371b86cbf3044256690fabf9071b6b,f89988f2cb371b86cbf3044256690fabf9071b6b,f89988f2cb371b86cbf3044256690fabf9071b6b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----// cs0509.cs: base class is sealed
----// Line: 7
----struct V {
----    int v;
----}
----
----class X : V {
----}
diff --cc mcs/tests/i5.cs
index e312377061b2acb76555b30c3c06004ece84ac3b,e312377061b2acb76555b30c3c06004ece84ac3b,e312377061b2acb76555b30c3c06004ece84ac3b,e312377061b2acb76555b30c3c06004ece84ac3b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----class A1 {
----}
----
----class A2 {
----}
----
----class B : A1, A2 {
----}
diff --cc mcs/tests/i6.cs
index fa20da0ada8a8ebd0575c49c4de5fe0af438bbec,fa20da0ada8a8ebd0575c49c4de5fe0af438bbec,fa20da0ada8a8ebd0575c49c4de5fe0af438bbec,fa20da0ada8a8ebd0575c49c4de5fe0af438bbec..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,4 -1,4 -1,4 -1,4 +1,0 @@@@@
----// cs0246.cs: can not find type `B'
----// Line: 4
----class X : D {
----}
diff --cc mcs/tests/interfaces.cs
index 6fcd9ec30612172a162b0c55976a14a93b96ad33,6fcd9ec30612172a162b0c55976a14a93b96ad33,6fcd9ec30612172a162b0c55976a14a93b96ad33,6fcd9ec30612172a162b0c55976a14a93b96ad33..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----interface X {
----
----    // Methods
----    new int IntegerMethod (int a, int b);
----    new int IntegerMethod (int a, string c);
----    new int StringMethod ();
----    int A (string b);
----
----    // Properties
----    new string TheString { get; set; }
----    int TheInt { get; }
----    int TheInt2 { set; }
----    int TheInt3 { set; get; }
----
----    // Events
----    new event int MyEvent;
----    event string MyEvent2;
----
----    // Indexers
----}
----    
----    
diff --cc mcs/tests/ix1.cs
index 984391d2fda02801305f1e5f814662126ed15834,984391d2fda02801305f1e5f814662126ed15834,984391d2fda02801305f1e5f814662126ed15834,984391d2fda02801305f1e5f814662126ed15834..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,3 -1,3 -1,3 -1,3 +1,0 @@@@@
----interface INTERFACE {
----    string PROPERTY { get; set; }
----}
diff --cc mcs/tests/ix2.cs
index c36b52ea2ac5b8640022e7816b96ebaf8db50093,c36b52ea2ac5b8640022e7816b96ebaf8db50093,c36b52ea2ac5b8640022e7816b96ebaf8db50093,c36b52ea2ac5b8640022e7816b96ebaf8db50093..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----using System;
----
----interface Blah {
----    string this [ int INDEX ] { get; set; }
----    string Item (int index);
----}
----
----public class Foo {
----
----    public static void Main ()
----    {
----            Console.WriteLine ("foo");
----    }
----}
----            
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8614a8c1ee86d368152b0ede81bb072b500e5f10
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++# This file contains test files which cause any type of error.
++++
++++# This file supports extended syntax
++++# csXXXX.cs         : test case causes error
++++# csXXXX.cs IGNORE  : adds test to ignore list
++++
++++test-50.cs IGNORE
++++test-308.cs
++++test-322.cs
++++test-377.cs
++++test-386.cs
++++test-387.cs
++++test-anon-27.cs
++++test-xml-027.cs
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..14068f52554836f88a439fa7d20e46a4bbc87c79
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++# This file contains test files which cause any type of error.
++++
++++# This file supports extended syntax
++++# csXXXX.cs         : test case causes error
++++# csXXXX.cs IGNORE  : adds test to ignore list
++++
++++test-50.cs IGNORE
++++test-308.cs
++++test-322.cs
++++test-377.cs
++++test-anon-27.cs
++++test-anon-29.cs
++++test-xml-027.cs
diff --cc mcs/tests/module-1.cs
index 286fbebf78f0faf3b50620ea2307ce294cc59262,286fbebf78f0faf3b50620ea2307ce294cc59262,286fbebf78f0faf3b50620ea2307ce294cc59262,286fbebf78f0faf3b50620ea2307ce294cc59262..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -t:module
----
----using System;
----
----public class M1 {
----
----    public string Foo;
----
----    public M1 (string foo) {
----            this.Foo = foo;
----    }
----}
----
diff --cc mcs/tests/module-2.cs
index 1c9aa16d9dabcbc346143358c9df36c03219760e,1c9aa16d9dabcbc346143358c9df36c03219760e,1c9aa16d9dabcbc346143358c9df36c03219760e,1c9aa16d9dabcbc346143358c9df36c03219760e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,5 -1,5 -1,5 -1,5 +1,0 @@@@@
----// Compiler options: -t:module
----
----public class M2 {
----}
----
diff --cc mcs/tests/module-3.cs
index e4b4aecd815015d9af228ddd400379f4d6645ec4,e4b4aecd815015d9af228ddd400379f4d6645ec4,e4b4aecd815015d9af228ddd400379f4d6645ec4,e4b4aecd815015d9af228ddd400379f4d6645ec4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----// Compiler options: -addmodule:module-1.netmodule -addmodule:module-2.netmodule
----
----using System;
----
----public class M3 : M1 {
----
----    public M3 () : base ("FOO") {
----    }
----
----    public static int Main () {
----            if (new M3 ().Foo != "FOO")
----                    return 1;
----            /* Test that the EXPORTEDTYPES table is correctly set up */
----            if (typeof (M3).Assembly.GetTypes ().Length != 3)
----                    return 2;
----            if (typeof (M3).Assembly.GetType ("M2") == null)
----                    return 3;
----            if (typeof (M3).Assembly.GetType ("M2") != typeof (M2))
----                    return 3;
----            return 0;
----    }
----}
diff --cc mcs/tests/mtest-1-dll.cs
index 82eb4bb1c8b2f9bce2426b3007c5e1d3d9302198,82eb4bb1c8b2f9bce2426b3007c5e1d3d9302198,82eb4bb1c8b2f9bce2426b3007c5e1d3d9302198,82eb4bb1c8b2f9bce2426b3007c5e1d3d9302198..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,9 -1,9 -1,9 -1,9 +1,0 @@@@@
----// Compiler options: -t:library
----
----namespace Q {
----    public class A {
----            public static new string ToString() {
----                    return "Hello world!";
----            }
----    }
----}
diff --cc mcs/tests/mtest-1-exe.cs
index 23102f487cf6fed761424d1c6aff1c48ba95e29a,23102f487cf6fed761424d1c6aff1c48ba95e29a,23102f487cf6fed761424d1c6aff1c48ba95e29a,23102f487cf6fed761424d1c6aff1c48ba95e29a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----// Compiler options: -r:mtest-1-dll.dll
----
----using System;
----using Q;
----
----public class B {
----    public static int Main() {
----            return (A.ToString() == "Hello world!") ? 0 : 1;
----    }
----}
diff --cc mcs/tests/mtest-2-dll.cs
index 50c0c8046712f0662c316f44c7ebcb5e0153c55a,50c0c8046712f0662c316f44c7ebcb5e0153c55a,50c0c8046712f0662c316f44c7ebcb5e0153c55a,50c0c8046712f0662c316f44c7ebcb5e0153c55a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,12 -1,12 -1,12 -1,12 +1,0 @@@@@
----// Compiler options: -t:library
----
----namespace Qt
----{
----    public class QtSupport
----    {
----            protected static event MousePressEvent mousePressEvent;
----
----            protected delegate void MousePressEvent ();
----    }
----
----}
diff --cc mcs/tests/mtest-2-exe.cs
index 38a4249432a25955771bab8e32bd051c4ace1e0a,38a4249432a25955771bab8e32bd051c4ace1e0a,38a4249432a25955771bab8e32bd051c4ace1e0a,38a4249432a25955771bab8e32bd051c4ace1e0a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----// Compiler options: -r:mtest-2-dll.dll
----
----namespace QtSamples
----{
----    using Qt;
----
----    public class QtClass: QtSupport
----    {
----            public QtClass()
----            {
----                    mousePressEvent += new MousePressEvent( pressEvent );
----            }
----            
----            public void pressEvent() { }
----    }
----
----
----    public class Testing
----    {
----            public static int Main()
----            {
----                    QtClass q = new QtClass();
----
----                    return 0;
----            }
----    }
----}
----
----
----
diff --cc mcs/tests/mtest-3-dll.cs
index 3760733dc2d5459b509c69cb8c130696bc10bb96,3760733dc2d5459b509c69cb8c130696bc10bb96,3760733dc2d5459b509c69cb8c130696bc10bb96,3760733dc2d5459b509c69cb8c130696bc10bb96..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----// Compiler options: -t:library
----
----using System;
----using System.Runtime.InteropServices;
----
----namespace Foo {
----  public class Bar {
----    public const CallingConvention CConv = CallingConvention.Cdecl;
----  }
----}
diff --cc mcs/tests/mtest-3-exe.cs
index 6be5408894aec0d62012a08b403956c19de494aa,6be5408894aec0d62012a08b403956c19de494aa,6be5408894aec0d62012a08b403956c19de494aa,6be5408894aec0d62012a08b403956c19de494aa..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----// Compiler options: -r:mtest-3-dll.dll
----
----using System;
----using System.Runtime.InteropServices;
----
----namespace Foo {
----  public class Baz {
----    [DllImport("foo.so", CallingConvention=Bar.CConv)]
----    public static extern void doFoo();
----
----      public static void Main ()
----      { }
----  }
----}
diff --cc mcs/tests/mtest-4-dll.cs
index 0f2614a46c1b017f3b9dd6475573f625088fbf4d,0f2614a46c1b017f3b9dd6475573f625088fbf4d,0f2614a46c1b017f3b9dd6475573f625088fbf4d,0f2614a46c1b017f3b9dd6475573f625088fbf4d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----// Compiler options: -t:library
----
----namespace Foo {
----namespace Bar {
----        public class Baz {
----                public class Inner {
----                        public static void Frob() { }
----                }
----        }
----}
----}
diff --cc mcs/tests/mtest-4-exe.cs
index 7c123864253133b30b29b82a4911c44edf06f683,7c123864253133b30b29b82a4911c44edf06f683,7c123864253133b30b29b82a4911c44edf06f683,7c123864253133b30b29b82a4911c44edf06f683..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----// Compiler options: -r:mtest-4-dll.dll
----
----using Inner = Foo.Bar.Baz.Inner;
----public class Driver {
----        public static void Main () {
----                Inner.Frob();
----        }
----}
diff --cc mcs/tests/mtest-5-dll.cs
index 7bdbb1cddde39b737e07d47bc067f7406ec3a619,7bdbb1cddde39b737e07d47bc067f7406ec3a619,7bdbb1cddde39b737e07d47bc067f7406ec3a619,7bdbb1cddde39b737e07d47bc067f7406ec3a619..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----// Compiler options: -t:library
----//
----// First file of a 2-test file to check for #69361
----// 
----public class AA
----{
----    internal protected virtual string Data {
----            get { return null; }
----    }
----}
diff --cc mcs/tests/mtest-5-exe.cs
index 45d41483cbbe7fe0b1b50d0722c255c701ee5c54,45d41483cbbe7fe0b1b50d0722c255c701ee5c54,45d41483cbbe7fe0b1b50d0722c255c701ee5c54,45d41483cbbe7fe0b1b50d0722c255c701ee5c54..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----// Compiler options: -r:mtest-5-dll.dll
----public class BB : AA
----{
----    protected override string Data {
----            get { return null; }
----    }
----    public static void Main () {}
----}
diff --cc mcs/tests/mtest-6-dll.cs
index bec8b987ff2170726e34be6402952f79e980bc72,bec8b987ff2170726e34be6402952f79e980bc72,bec8b987ff2170726e34be6402952f79e980bc72,bec8b987ff2170726e34be6402952f79e980bc72..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----// Compiler options: -t:library
----
----using System;
----public abstract class MyTestAbstract
----{
----    protected abstract string GetName();
----    
----    public MyTestAbstract()
----    {
----    }
----
----    public void PrintName()
----    {
----            Console.WriteLine("Name=" + GetName());
----    }
----}
diff --cc mcs/tests/mtest-6-exe.cs
index 11c95af7c3a90d2292b5566c2c79bd512bec2629,11c95af7c3a90d2292b5566c2c79bd512bec2629,11c95af7c3a90d2292b5566c2c79bd512bec2629,11c95af7c3a90d2292b5566c2c79bd512bec2629..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----// Compiler options: -r:mtest-6-dll.dll
----
----using System;
----public class MyTestExtended : MyTestAbstract
----{
----    public MyTestExtended() : base()
----    {
----    }
----
----    protected override string GetName() { return "foo"; }
----    public static void Main(string[] args)
----    {
----            Console.WriteLine("Calling PrintName");
----            MyTestExtended test = new MyTestExtended();
----            test.PrintName();
----            Console.WriteLine("Out of PrintName");
----    }
----    
----}
diff --cc mcs/tests/mtest-7-dll.cs
index d1638861c1d9e0aca198c5777964ed1bd18dd2ad,d1638861c1d9e0aca198c5777964ed1bd18dd2ad,d1638861c1d9e0aca198c5777964ed1bd18dd2ad,d1638861c1d9e0aca198c5777964ed1bd18dd2ad..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,12 -1,12 -1,12 -1,12 +1,0 @@@@@
----// Compiler options: -t:module
----
----namespace n1
----{
----        public class Adder
----        {
----                public int Add(int x, int y)
----                {
----                        return x+y;
----                }
----        }
----}
diff --cc mcs/tests/mtest-7-exe.cs
index 3ba7c646d04cfcb4dd764a97e5233ca1f52fab4d,3ba7c646d04cfcb4dd764a97e5233ca1f52fab4d,3ba7c646d04cfcb4dd764a97e5233ca1f52fab4d,3ba7c646d04cfcb4dd764a97e5233ca1f52fab4d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----// Compiler options: -addmodule:mtest-7-dll.netmodule
----
----using n1;
----using System;
----
----public class ModTest
----{
----        
----        public static void Main(string[] args)
----        {
----                Adder a=new Adder();
----                Console.WriteLine(a.Add(2,3));
----        }
----
----}
diff --cc mcs/tests/mtest-8-dll.cs
index 632fd6ef3dca309bb75286e2ada7572fd5656387,632fd6ef3dca309bb75286e2ada7572fd5656387,632fd6ef3dca309bb75286e2ada7572fd5656387,632fd6ef3dca309bb75286e2ada7572fd5656387..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----// Compiler options: -t:library
----
----using System;
----
----namespace blah
----{
----
----public delegate void MyFunnyDelegate(object sender, params object[] message);
----
----}
diff --cc mcs/tests/mtest-8-exe.cs
index 6e1c35f593eda31cca4a089215d00bc0077e7411,6e1c35f593eda31cca4a089215d00bc0077e7411,6e1c35f593eda31cca4a089215d00bc0077e7411,6e1c35f593eda31cca4a089215d00bc0077e7411..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,26 -1,26 -1,26 -1,26 +1,0 @@@@@
----// Compiler options: -r:mtest-8-dll.dll
----
----using System;
----using blah;
----
----namespace blah2
----{
----
----public class MyClass
----{
----    public event MyFunnyDelegate DoSomething;
----
----    public void DoSomethingFunny()
----    {
----        if (DoSomething != null) DoSomething(this, "hello there", "my friend");
----    }
----
----    public static void Main(string[] args)
----    {
----            MyClass mc = new MyClass();
----            mc.DoSomethingFunny();
----
----    }
----}
----
----}
diff --cc mcs/tests/n1.cs
index b47fd24b2ca7095f54aff0af3f6b5290227e2915,b47fd24b2ca7095f54aff0af3f6b5290227e2915,b47fd24b2ca7095f54aff0af3f6b5290227e2915,b47fd24b2ca7095f54aff0af3f6b5290227e2915..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----namespace A {\r
----    class X {\r
----            void Y () {}\r
----    }\r
----}\r
----\r
----namespace A {\r
----    class XX : X {\r
----            void YY () {}\r
----    }\r
----}\r
diff --cc mcs/tests/n2.cs
index 34c210e1fe7233235c7a9f6bd8b1243c6b4cf623,34c210e1fe7233235c7a9f6bd8b1243c6b4cf623,34c210e1fe7233235c7a9f6bd8b1243c6b4cf623,34c210e1fe7233235c7a9f6bd8b1243c6b4cf623..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,4 -1,4 -1,4 -1,4 +1,0 @@@@@
----using System.Collections;
----
----class X : Queue {
----}
diff --cc mcs/tests/pi.cs
index bc167f108d241005e7297df7c94cd38712079fa8,bc167f108d241005e7297df7c94cd38712079fa8,bc167f108d241005e7297df7c94cd38712079fa8,bc167f108d241005e7297df7c94cd38712079fa8..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,4 -1,4 -1,4 -1,4 +1,0 @@@@@
----// Compiler options: -t:library
----
----internal class Provider {
----}
diff --cc mcs/tests/pp.cs
index aeee13693671bdf84eae395608dd865546ec564f,aeee13693671bdf84eae395608dd865546ec564f,aeee13693671bdf84eae395608dd865546ec564f,aeee13693671bdf84eae395608dd865546ec564f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -t:library
----
----public class Provider {
----    public static void Main ()
----    {
----    }
----}
----
----public class Foo {
----    public static void Main ()
----    {
----    }
----}
diff --cc mcs/tests/pu-ip.cs
index d5f9f900fadfb4ec2d538ad6414dbff8ca1bde63,d5f9f900fadfb4ec2d538ad6414dbff8ca1bde63,d5f9f900fadfb4ec2d538ad6414dbff8ca1bde63,d5f9f900fadfb4ec2d538ad6414dbff8ca1bde63..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,7 -1,7 -1,7 -1,7 +1,0 @@@@@
----// Compiler options: -r:pi.dll -r:pp.dll
----
----class Test {
----        static void Main () {
----                Provider p = new Provider ();
----        }
----}
diff --cc mcs/tests/pu-pi.cs
index e4c3b7ca68a56297dbd2b62a164649388ee2f6b3,e4c3b7ca68a56297dbd2b62a164649388ee2f6b3,e4c3b7ca68a56297dbd2b62a164649388ee2f6b3,e4c3b7ca68a56297dbd2b62a164649388ee2f6b3..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,7 -1,7 -1,7 -1,7 +1,0 @@@@@
----// Compiler options: -r:pp.dll -r:pi.dll
----
----class Test {
----        static void Main () {
----                Provider p = new Provider ();
----        }
----}
diff --cc mcs/tests/s1.cs
index 6c1191a86a0d76b5390830c55b55e357b8b172fe,6c1191a86a0d76b5390830c55b55e357b8b172fe,6c1191a86a0d76b5390830c55b55e357b8b172fe,6c1191a86a0d76b5390830c55b55e357b8b172fe..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,7 -1,7 -1,7 -1,7 +1,0 @@@@@
----struct A {\r
----    int x;\r
----}\r
----\r
----struct B : A {\r
----    int y;\r
----}\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f904871e497e87f12832f3e475fd6462778a6440
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,57 @@@@@
++++using System;
++++
++++class t {
++++
++++    void a ()
++++    {
++++            int b;
++++            
++++            try {
++++                    b = 1;
++++            } catch {
++++                    b = 2;
++++            }
++++    }
++++
++++    void b ()
++++    {
++++            int a;
++++
++++            try {
++++                    a = 1;
++++            } catch (Exception) {
++++                    a = 2;
++++            }
++++    }
++++
++++    void c ()
++++    {
++++            int a;
++++
++++            try {
++++                    a = 2;
++++            } catch (Exception e) {
++++                    a = 0x3;
++++            } catch {
++++                    a = 0x1;
++++            }
++++    }
++++
++++    void d ()
++++    {
++++            int a;
++++
++++            try {
++++                    a = 2;
++++            } catch (Exception e) {
++++                    a = 0x3;
++++            } catch {
++++                    a = 0x1;
++++            } finally {
++++                    a = 111;
++++            }
++++    }
++++    
++++    public static void Main () {}
++++}
++++                    
index da679adea6188bf5857b4c9cf529a1f6a127e76a,da679adea6188bf5857b4c9cf529a1f6a127e76a,da679adea6188bf5857b4c9cf529a1f6a127e76a,da679adea6188bf5857b4c9cf529a1f6a127e76a..07e217a26620dcbec0a9b84e0cd727ab8f1cb45b
    class T {
----    static void Main ()
++++    static int ret_code = 0;
++++    
++++    static int Main ()
        {
                try {
                        T t = null;
                        t.Foo ();
                } catch {
----                    System.Environment.Exit (0);
++++                    return ret_code;
                }
----            
----            System.Environment.Exit (1);
++++            ret_code = 1;
++++            return ret_code;
        }
        
        void Foo () {
                if (this == null) {
                        System.Console.WriteLine ("This isnt anything!?!?");
----                    System.Environment.Exit (1);
++++                    ret_code = 1;
                }
        }
    }
index 7ee99c54ed95f3fc1f6e19c284a0a597a3ad18a6,7ee99c54ed95f3fc1f6e19c284a0a597a3ad18a6,7ee99c54ed95f3fc1f6e19c284a0a597a3ad18a6,7ee99c54ed95f3fc1f6e19c284a0a597a3ad18a6..219e70b7328ce586e3b06ad86d72d8d5494b8ccd
@@@@@ -4,17 -4,17 -4,17 -4,17 +4,18 @@@@@ using System
    using System.Diagnostics;
    
    class TestClass {
++++    static int return_code = 1;
        
            [Conditional("C1"), Conditional("C2")]    
            public static void ConditionalMethod()
            {
                Console.WriteLine ("Succeeded");
----            Environment.Exit (0);
++++            return_code = 0;
            }
        
            static int Main()
            {
                ConditionalMethod ();
----            return 1;
++++            return return_code;
            }
    }
diff --cc mcs/tests/test-319-dll.cs
index f05257c63ec087f3dcd908d8bee626e0e9dd16df,f05257c63ec087f3dcd908d8bee626e0e9dd16df,f05257c63ec087f3dcd908d8bee626e0e9dd16df,f05257c63ec087f3dcd908d8bee626e0e9dd16df..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,6 -1,6 -1,6 -1,6 +1,0 @@@@@
----// Compiler options: -t:library
----
----public class C
----{
----    public const decimal D = 4;
----}
diff --cc mcs/tests/test-319-exe.cs
index 34c91371a4022b60202b8f15263f601a8c3142c4,34c91371a4022b60202b8f15263f601a8c3142c4,34c91371a4022b60202b8f15263f601a8c3142c4,34c91371a4022b60202b8f15263f601a8c3142c4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,48 -1,48 -1,48 -1,48 +1,0 @@@@@
----// Compiler options: -r:test-319-dll.dll
----
----using System;
----using System.Runtime.CompilerServices;
----
----// TODO: clean up in Decimal.cs
----
----public class ConstFields
----{
----    public const decimal ConstDecimal1 = 314159265358979323846m;
----        public static readonly decimal ConstDecimal2 = -314159265358979323846m;
----    public const decimal ConstDecimal3 = -3;
----        public const decimal ConstDecimal4 = 0;
----        public const decimal MaxValue = 79228162514264337593543950335m;
----        
----        // TODO: check this value
----    static readonly Decimal MaxValueDiv10 = MaxValue / 10;
----            
----        static decimal DecimalValue = -90;
----        const decimal SmallConstValue = .02M;
----            
----        static int Main ()
----        {
----            Type t = typeof (ConstFields);
----            DecimalConstantAttribute a = (DecimalConstantAttribute) t.GetField ("ConstDecimal3").GetCustomAttributes (typeof (DecimalConstantAttribute), false) [0];
----            if (a.Value != ConstDecimal3)
----                return 1;
----
----            a = (DecimalConstantAttribute) t.GetField ("ConstDecimal1").GetCustomAttributes (typeof (DecimalConstantAttribute), false) [0];
----            if (a.Value != 314159265358979323846m)
----                return 2;
----            
----            if (ConstDecimal1 != (-1) * ConstDecimal2)
----                return 3;
----            
----            if (!(SmallConstValue < 1 && SmallConstValue > 0))
----                return 4;
----
----            // THIS IS TEST TOO
----            Console.WriteLine (C.D);
----            Console.WriteLine (Decimal.One);
----            Console.WriteLine (DecimalValue);
----            Console.WriteLine (Decimal.MaxValue);
----            
----            Console.WriteLine ("Success");
----            return 0;
----        }
----}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..83c0ce5528776c9a8417fb917285c2ab7bbe9d86
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,6 @@@@@
++++// Compiler options: -t:library\r
++++
++++public class C
++++{
++++    public const decimal D = 4;
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3bb1e354ef6ec13f58689a1c93c65d72d95e2034
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,48 @@@@@
++++// Compiler options: -r:test-319-lib.dll
++++
++++using System;
++++using System.Runtime.CompilerServices;
++++
++++// TODO: clean up in Decimal.cs
++++
++++public class ConstFields
++++{
++++    public const decimal ConstDecimal1 = 314159265358979323846m;
++++        public static readonly decimal ConstDecimal2 = -314159265358979323846m;
++++    public const decimal ConstDecimal3 = -3;
++++        public const decimal ConstDecimal4 = 0;
++++        public const decimal MaxValue = 79228162514264337593543950335m;
++++        
++++        // TODO: check this value
++++    static readonly Decimal MaxValueDiv10 = MaxValue / 10;
++++            
++++        static decimal DecimalValue = -90;
++++        const decimal SmallConstValue = .02M;
++++            
++++        static int Main ()
++++        {
++++            Type t = typeof (ConstFields);
++++            DecimalConstantAttribute a = (DecimalConstantAttribute) t.GetField ("ConstDecimal3").GetCustomAttributes (typeof (DecimalConstantAttribute), false) [0];
++++            if (a.Value != ConstDecimal3)
++++                return 1;
++++
++++            a = (DecimalConstantAttribute) t.GetField ("ConstDecimal1").GetCustomAttributes (typeof (DecimalConstantAttribute), false) [0];
++++            if (a.Value != 314159265358979323846m)
++++                return 2;
++++            
++++            if (ConstDecimal1 != (-1) * ConstDecimal2)
++++                return 3;
++++            
++++            if (!(SmallConstValue < 1 && SmallConstValue > 0))
++++                return 4;
++++
++++            // THIS IS TEST TOO
++++            Console.WriteLine (C.D);
++++            Console.WriteLine (Decimal.One);
++++            Console.WriteLine (DecimalValue);
++++            Console.WriteLine (Decimal.MaxValue);
++++            
++++            Console.WriteLine ("Success");
++++            return 0;
++++        }
++++}
index 7a5211c35e832ad291a57372ede445fb5c60c576,7a5211c35e832ad291a57372ede445fb5c60c576,7a5211c35e832ad291a57372ede445fb5c60c576,7a5211c35e832ad291a57372ede445fb5c60c576..12fbb0b8a14a3d2f1edf1c511358f313ae07cc4f
@@@@@ -1,7 -1,7 -1,7 -1,7 +1,11 @@@@@
----// Compiler options: -t:library
    
    /* foo */
    #define FOO
    
    /* bar */ // bar again
    #define BAR
++++
++++public class C
++++{
++++    public static void Main () {}
++++}
diff --cc mcs/tests/test-353-2.cs
index 6bc4004f7974295358bb38950b5f8b8f5d842f74,6bc4004f7974295358bb38950b5f8b8f5d842f74,6bc4004f7974295358bb38950b5f8b8f5d842f74,6bc4004f7974295358bb38950b5f8b8f5d842f74..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----using System;
---- 
----public class Three {
----        public static void Main ()
----        {
----                One o = new One ();
----        }
----}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6bc4004f7974295358bb38950b5f8b8f5d842f74
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++using System;
++++ 
++++public class Three {
++++        public static void Main ()
++++        {
++++                One o = new One ();
++++        }
++++}
index f1f1485a54d8ce3f1fb7a2e6069ed4cd2a0411b8,f1f1485a54d8ce3f1fb7a2e6069ed4cd2a0411b8,f1f1485a54d8ce3f1fb7a2e6069ed4cd2a0411b8,f1f1485a54d8ce3f1fb7a2e6069ed4cd2a0411b8..b24bca1e48c03c60ec3a63e26357b68cd0ce9741
@@@@@ -1,4 -1,4 -1,4 -1,4 +1,4 @@@@@
----// Compiler options: test-353-2.cs
++++// Compiler options: test-353-p2.cs /out:test-353.exe
    
    using System;
     
diff --cc mcs/tests/test-361-2.cs
index 99ea411a7917a14d57ecb653464ac6e97f582340,99ea411a7917a14d57ecb653464ac6e97f582340,99ea411a7917a14d57ecb653464ac6e97f582340,99ea411a7917a14d57ecb653464ac6e97f582340..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,5 -1,5 -1,5 -1,5 +1,0 @@@@@
----// Subordinate test file for test-361.cs
----
----using System;
----[AttributeUsage (AttributeTargets.Class)]
----class X : Attribute { }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..99ea411a7917a14d57ecb653464ac6e97f582340
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,5 @@@@@
++++// Subordinate test file for test-361.cs
++++
++++using System;
++++[AttributeUsage (AttributeTargets.Class)]
++++class X : Attribute { }
index 0809ee0eb7c3c4c7afa4e76c6bcd283bcc8f441e,0809ee0eb7c3c4c7afa4e76c6bcd283bcc8f441e,0809ee0eb7c3c4c7afa4e76c6bcd283bcc8f441e,0809ee0eb7c3c4c7afa4e76c6bcd283bcc8f441e..c2e9da671b3cc8aaaf9e2c9325c3e72b9a865dc4
@@@@@ -1,4 -1,4 -1,4 -1,4 +1,4 @@@@@
----// Compiler options: test-361-2.cs
++++// Compiler options: test-361-p2.cs /out:test-361.exe
    
    [X]
    class Test {
index 7675dd361e94bebcb353da658d8aab070f354d0b,7675dd361e94bebcb353da658d8aab070f354d0b,7675dd361e94bebcb353da658d8aab070f354d0b,7675dd361e94bebcb353da658d8aab070f354d0b..62ccaa23a8aed325fad908a94d2d75096a94f298
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,12 @@@@@
----// Compiler options: -t:library -unsafe
++++// Compiler options: -unsafe
    
    public unsafe struct Foo
    {
            public Foo *foo;
    }
----
++++\r
++++public class C\r
++++{\r
++++    public static void Main () {}\r
++++}
    
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..282ec3cc86d732ec20c2f81a29dd90749df03efd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,50 @@@@@
++++// This is used to debug an ordering dependent bug.  The counterpart is test-388.cs.
++++//
++++
++++using System;
++++using System.Collections;
++++using System.Reflection;
++++
++++namespace Schemas
++++{
++++    public partial class basefieldtype
++++    {
++++            public virtual object Instantiate () { return null; }
++++    }
++++
++++    public partial class fieldtype
++++    {
++++            public override object Instantiate ()
++++            {
++++                    Console.WriteLine ("Instantiating type '{0}'", id);
++++                    return null;
++++            }
++++    }
++++
++++    public partial class compoundfield
++++    {
++++            public override object Instantiate ()
++++            {
++++                    Console.WriteLine ("Instantiating compound field '{0}'", id);
++++                    return null;
++++            }
++++    }
++++
++++    public partial class field
++++    {
++++            public object Instantiate ()
++++            {
++++                    Console.WriteLine ("Instantiating field '{0}'", id);
++++                    return null;
++++            }
++++    }
++++    
++++    public partial class formdata
++++    {
++++            public object Instantiate ()
++++            {
++++                    Console.WriteLine ("Instantiating form window");
++++                    return null;
++++            }
++++    }
++++}
index b115c5c01f7cfd997d67f9dc2b5f2814721d1582,0000000000000000000000000000000000000000,b115c5c01f7cfd997d67f9dc2b5f2814721d1582,0000000000000000000000000000000000000000..7f7525b9ca87de895cb39e2ef62d1e525817fa9f
mode 100644,000000,100644,000000..100644
--- /dev/null
--- /dev/null
@@@@@ -1,44 -1,0 -1,44 -1,0 +1,48 @@@@@
- - // This is used to debug an ordering dependent bug.  The counterpart is test-389.cs.
++++// This is used to debug an ordering dependent bug.
 + +//
- - // Compiler options: -t:library test-389.cs
++++// Compiler options: test-388-p2.cs /out:test-388.exe
 + +
 + +namespace Schemas {
 + +    [System.Xml.Serialization.XmlType("base-field-type"),
 + +    System.Xml.Serialization.XmlInclude(typeof(compoundfield)),
 + +    System.Xml.Serialization.XmlInclude(typeof(fieldtype))]
 + +    public partial class basefieldtype {
 + +
 + +        [System.Xml.Serialization.XmlAttribute(DataType="ID")]
 + +        public string id;
 + +
 + +        [System.Xml.Serialization.XmlAttribute()]
 + +        public string datatype;
 + +    }
 + +
 + +    [System.Xml.Serialization.XmlType("field-type")]
 + +    public partial class fieldtype: basefieldtype {}
 + +
 + +    [System.Xml.Serialization.XmlType("compound-field")]
 + +    public partial class compoundfield: basefieldtype {}
 + +
 + +    public partial class field {
 + +
 + +        [System.Xml.Serialization.XmlAttribute()]
 + +        public string id;
 + +
 + +        [System.Xml.Serialization.XmlAttribute()]
 + +        public string type;
 + +    }
 + +
 + +    [System.Xml.Serialization.XmlType("form-data")]
 + +    public partial class formdata {
 + +
 + +        [System.Xml.Serialization.XmlArray(ElementName="form-fields"),
 + +        System.Xml.Serialization.XmlArrayItem(Type=typeof(field),IsNullable=false)]
 + +        public field[] formfields;
 + +        
 + +            [System.Xml.Serialization.XmlElement("field-type",Type=typeof(fieldtype)),
 + +        System.Xml.Serialization.XmlElement("compound-field",Type=typeof(compoundfield))]
 + +        public basefieldtype[] Items;
++++    }\r
++++    \r
++++    public class M {\r
++++    public static void Main () {}\r
 + +    }
 + +}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cbe25c495faa419e2a623c2da09672d31ed794d1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++// This is used to debug an ordering dependent bug.
++++//
++++
++++namespace Schemas {
++++    [System.Xml.Serialization.XmlType("base-field-type"),
++++    System.Xml.Serialization.XmlInclude(typeof(compoundfield)),
++++    System.Xml.Serialization.XmlInclude(typeof(fieldtype))]
++++    public partial class basefieldtype {
++++
++++        [System.Xml.Serialization.XmlAttribute(DataType="ID")]
++++        public string id;
++++
++++        [System.Xml.Serialization.XmlAttribute()]
++++        public string datatype;
++++    }
++++
++++    [System.Xml.Serialization.XmlType("field-type")]
++++    public partial class fieldtype: basefieldtype {}
++++
++++    [System.Xml.Serialization.XmlType("compound-field")]
++++    public partial class compoundfield: basefieldtype {}
++++
++++    public partial class field {
++++
++++        [System.Xml.Serialization.XmlAttribute()]
++++        public string id;
++++
++++        [System.Xml.Serialization.XmlAttribute()]
++++        public string type;
++++    }
++++
++++    [System.Xml.Serialization.XmlType("form-data")]
++++    public partial class formdata {
++++
++++        [System.Xml.Serialization.XmlArray(ElementName="form-fields"),
++++        System.Xml.Serialization.XmlArrayItem(Type=typeof(field),IsNullable=false)]
++++        public field[] formfields;
++++        
++++            [System.Xml.Serialization.XmlElement("field-type",Type=typeof(fieldtype)),
++++        System.Xml.Serialization.XmlElement("compound-field",Type=typeof(compoundfield))]
++++        public basefieldtype[] Items;
++++    }\r
++++}
index 81d19b9bfeea023abc6751869d1270073d8c8002,0000000000000000000000000000000000000000,81d19b9bfeea023abc6751869d1270073d8c8002,0000000000000000000000000000000000000000..ec051ae4e590e085c078d2f6b283d4bdfd37ee7e
mode 100644,000000,100644,000000..100644
--- /dev/null
--- /dev/null
@@@@@ -1,51 -1,0 -1,51 -1,0 +1,55 @@@@@
- - // This is used to debug an ordering dependent bug.  The counterpart is test-388.cs.
++++// This is used to debug an ordering dependent bug.
 + +//
- - // Compiler options: -t:library test-388.cs
++++// Compiler options: test-389-p2.cs /out:test-389.exe
 + +
 + +using System;
 + +using System.Collections;
 + +using System.Reflection;
 + +
 + +namespace Schemas
 + +{
 + +    public partial class basefieldtype
 + +    {
 + +            public virtual object Instantiate () { return null; }
 + +    }
 + +
 + +    public partial class fieldtype
 + +    {
 + +            public override object Instantiate ()
 + +            {
 + +                    Console.WriteLine ("Instantiating type '{0}'", id);
 + +                    return null;
 + +            }
 + +    }
 + +
 + +    public partial class compoundfield
 + +    {
 + +            public override object Instantiate ()
 + +            {
 + +                    Console.WriteLine ("Instantiating compound field '{0}'", id);
 + +                    return null;
 + +            }
 + +    }
 + +
 + +    public partial class field
 + +    {
 + +            public object Instantiate ()
 + +            {
 + +                    Console.WriteLine ("Instantiating field '{0}'", id);
 + +                    return null;
 + +            }
 + +    }
 + +    
 + +    public partial class formdata
 + +    {
 + +            public object Instantiate ()
 + +            {
 + +                    Console.WriteLine ("Instantiating form window");
 + +                    return null;
 + +            }
++++    }\r
++++    \r
++++    public class M {\r
++++        public static void Main () {}\r
 + +    }
 + +}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9eba405cec4a8c185f93389894da634ac8483eca
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,79 @@@@@
++++// Compiler options: -langversion:default
++++// Test for covariance support in delegates
++++//
++++
++++using System;
++++
++++ public class A {
++++     protected string name;
++++     
++++     public A (string name)
++++     {
++++             this.name = "A::" + name;
++++     }
++++
++++     public A ()
++++     {
++++     }
++++
++++     public string Name {
++++             get {
++++                     return name;
++++             }
++++     }
++++ }
++++
++++ public class B : A {
++++     public B (string name)
++++     {
++++             this.name = "B::" + name;
++++     }
++++
++++     public B ()
++++     {
++++     }
++++ }
++++
++++ public class C : B {
++++     public C (string name)
++++     {
++++             this.name = "C::" + name;
++++     }
++++ }
++++
++++ public class Tester {
++++
++++     delegate A MethodHandler (string name);
++++
++++     static A MethodSampleA (string name)
++++     {
++++             return new A (name);
++++     }
++++
++++     static B MethodSampleB (string name)
++++     {
++++             return new B (name);
++++     }
++++
++++     static C MethodSampleC (string name)
++++     {
++++             return new C (name);
++++     }
++++
++++     static void Main ()
++++     {
++++             MethodHandler a = MethodSampleA;
++++             MethodHandler b = MethodSampleB;
++++             MethodHandler c = MethodSampleC;
++++
++++             A instance1 = a ("Hello");
++++             A instance2 = b ("World");
++++             A instance3 = c ("!");
++++
++++             Console.WriteLine (instance1.Name);
++++             Console.WriteLine (instance2.Name);
++++             Console.WriteLine (instance3.Name);
++++     }
++++    
++++ }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d1fd42ed54ab3c2b3e1898da5fa904d104a7d9c4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,89 @@@@@
++++// Compiler options: -langversion:default
++++//
++++// Test for contravariance support in delegates
++++//
++++
++++using System;
++++
++++ public class A {
++++     protected string name;
++++     
++++     public A (string name)
++++     {
++++             this.name = "A::" + name;
++++     }
++++
++++     public A ()
++++     {
++++     }
++++
++++     public string Name {
++++             get {
++++                     return name;
++++             }
++++     }
++++ }
++++
++++ public class B : A {
++++     public B (string name)
++++     {
++++             this.name = "B::" + name;
++++     }
++++
++++     public B ()
++++     {
++++     }
++++ }
++++
++++ public class C : B {
++++     string value;
++++
++++     public C (string name, string value)
++++     {
++++             this.name = "C::" + name;
++++             this.value = value;
++++     }
++++
++++     public string Value {
++++             get {
++++                     return value;
++++             }
++++     }
++++ }
++++
++++ public class Tester {
++++
++++     delegate string MethodHandler (C c);
++++
++++     static string MethodSampleA (A value)
++++     {
++++             return value.Name;
++++     }
++++
++++     static string MethodSampleB (B value)
++++     {
++++             return value.Name;
++++     }
++++
++++     static string MethodSampleC (C value)
++++     {
++++             return value.Name + " " + value.Value;
++++     }
++++
++++     static void Main ()
++++     {
++++             MethodHandler da = MethodSampleA;
++++             MethodHandler db = MethodSampleB;
++++             MethodHandler dc = MethodSampleC;
++++
++++             C a = new C ("Hello", "hello");
++++             C b = new C ("World", "world");
++++             C c = new C ("!", "!!!");
++++
++++             Console.WriteLine (da (a));
++++             Console.WriteLine (db (b));
++++             Console.WriteLine (dc (c));
++++     }
++++    
++++ }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e63ebc73d4dc2824a66e11c54f843ded716d0dba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,77 @@@@@
++++// Compiler options: -langversion:default
++++//
++++// Test for contravariance support in delegates
++++//
++++
++++using System;
++++
++++ public class A {
++++     protected string name;
++++     
++++     public A (string name)
++++     {
++++             this.name = "A::" + name;
++++     }
++++
++++     public A ()
++++     {
++++     }
++++
++++     public string Name {
++++             get {
++++                     return name;
++++             }
++++     }
++++ }
++++
++++ public class B : A {
++++     public B (string name)
++++     {
++++             this.name = "B::" + name;
++++     }
++++
++++     public B ()
++++     {
++++     }
++++ }
++++
++++ public class C : B {
++++     string value;
++++
++++     public C (string name, string value)
++++     {
++++             this.name = "C::" + name;
++++             this.value = value;
++++     }
++++
++++     public string Value {
++++             get {
++++                     return value;
++++             }
++++     }
++++ }
++++
++++ public class Tester {
++++
++++     delegate void MethodHandler (C c1, C c2, C c3);
++++
++++     static void MethodSample (B b, A a, C c)
++++     {
++++             Console.WriteLine ("b = {0}", b.Name);
++++             Console.WriteLine ("a = {0}", a.Name);
++++             Console.WriteLine ("c = {0}, {1}", c.Name, c.Value);
++++     }
++++
++++     static void Main ()
++++     {
++++             MethodHandler mh = MethodSample;
++++
++++             C a = new C ("Hello", "hello");
++++             C b = new C ("World", "world");
++++             C c = new C ("!", "!!!");
++++
++++             mh (b, a, c);
++++     }
++++    
++++ }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a4d2ca9ce589ad3c80fccb5d1a3a3d08424e2bb4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++// Compiler options: -t:library
++++
++++public class A
++++{
++++    public static bool operator==(A a1, A a2)
++++    {
++++            return true;
++++    }
++++
++++    public static bool operator!=(A a1, A a2)
++++    {
++++            return false;
++++    }
++++
++++    public override bool Equals (object o)
++++    {
++++            return true;
++++    }
++++
++++    public override int GetHashCode ()
++++    {
++++            return base.GetHashCode ();
++++    }
++++
++++    public int KK () { return 1; }
++++}
++++
++++public class B : A {
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1262608954da5868a2b4d27ef68a72408a0c445f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -r:test-396-lib.dll
++++
++++public class MainClass
++++{
++++    public static int Main ()
++++    {
++++            A a = new A ();
++++            B b = new B ();
++++            bool r = (a == b);
++++
++++                return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1270a51f9d9603b03a90e99427e488baffc60dc8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,147 @@@@@
++++//
++++// Access modifiers
++++// We use reflection to test that the flags are the correct ones
++++//
++++
++++using System;
++++using System.Reflection;
++++
++++ [AttributeUsage (AttributeTargets.Class)]
++++ public class TypeCheckAttribute : Attribute {
++++
++++     public TypeCheckAttribute ()
++++     {
++++     }
++++ }
++++
++++ [AttributeUsage (AttributeTargets.Property)]
++++ public class PropertyCheckAttribute : Attribute {
++++
++++     public PropertyCheckAttribute ()
++++     {
++++     }
++++ }
++++
++++ [AttributeUsage (AttributeTargets.Method)]
++++ public class AccessorCheckAttribute : Attribute {
++++     MethodAttributes flags;
++++
++++     public AccessorCheckAttribute (MethodAttributes flags)
++++     {
++++             this.flags = flags;
++++     }
++++
++++     public MethodAttributes Attributes {
++++             get {
++++                     return flags;
++++             }
++++     }
++++ }
++++
++++ public class Test {
++++
++++     public static int Main (string [] args)
++++     {
++++             Type t = typeof (A);
++++             
++++             foreach (PropertyInfo pi in t.GetProperties ()) {
++++                     object [] attrs = pi.GetCustomAttributes (typeof (PropertyCheckAttribute), true);
++++                     if (attrs == null)
++++                             return 0;
++++                     
++++                     MethodInfo get_accessor, set_accessor;
++++                     get_accessor = pi.GetGetMethod (true);
++++                     set_accessor = pi.GetSetMethod (true);
++++                     
++++                     if (get_accessor != null)
++++                             CheckFlags (pi, get_accessor);
++++                     if (set_accessor != null)
++++                             CheckFlags (pi, set_accessor);
++++             }
++++
++++             return 0;
++++     }
++++
++++     static void CheckFlags (PropertyInfo pi, MethodInfo accessor)
++++     {
++++             object [] attrs = accessor.GetCustomAttributes (typeof (AccessorCheckAttribute), true);
++++             if (attrs == null)
++++                     return;
++++
++++             AccessorCheckAttribute accessor_attr = (AccessorCheckAttribute) attrs [0];
++++             MethodAttributes accessor_flags = accessor.Attributes;
++++
++++             if ((accessor_flags & accessor_attr.Attributes) == accessor_attr.Attributes)
++++                     Console.WriteLine ("Test for {0}.{1} PASSED", pi.Name, accessor.Name);
++++             else {
++++                     string message = String.Format ("Test for {0}.{1} INCORRECT: MethodAttributes should be {2}, but are {3}",
++++                                     pi.Name, accessor.Name, accessor_attr.Attributes, accessor_flags);
++++                     throw new Exception (message);
++++             }
++++     }
++++
++++ }
++++
++++ [TypeCheck]
++++ public class A {
++++
++++     const MethodAttributes flags = MethodAttributes.HideBySig |
++++             MethodAttributes.SpecialName;
++++
++++     [PropertyCheck]
++++     public int Value1 {
++++             [AccessorCheck (flags | MethodAttributes.Public)]
++++             get {
++++                     return 0;
++++             }
++++             [AccessorCheck (flags | MethodAttributes.Public)]
++++             set {
++++             }
++++     }
++++
++++     [PropertyCheck]
++++     public int Value2 {
++++             [AccessorCheck (flags | MethodAttributes.Public)]
++++             get {
++++                     return 0;
++++             }
++++             [AccessorCheck (flags | MethodAttributes.FamORAssem)]
++++             protected internal set {
++++             }
++++     }
++++
++++     [PropertyCheck]
++++     public int Value3 {
++++             [AccessorCheck (flags | MethodAttributes.Public)]
++++             get {
++++                     return 0;
++++             }
++++             [AccessorCheck (flags | MethodAttributes.Family)]
++++             protected set {
++++             }
++++     }
++++
++++     [PropertyCheck]
++++     public int Value4 {
++++             [AccessorCheck (flags | MethodAttributes.Assembly)]
++++             internal get {
++++                     return 0;
++++             }
++++             [AccessorCheck (flags | MethodAttributes.Public)]
++++             set {
++++             }
++++     }
++++
++++     [PropertyCheck]
++++     public int Value5 {
++++             [AccessorCheck (flags | MethodAttributes.Public)]
++++             get {
++++                     return 0;
++++             }
++++             [AccessorCheck (flags | MethodAttributes.Private)]
++++             private set {
++++             }
++++     }
++++
++++ }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0826a6f09057c3fc2ee2373eac67bbda399a62ca
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,88 @@@@@
++++//
++++// Test for access modifiers
++++//
++++
++++using System;
++++
++++ public class Tester {
++++
++++     static void Main ()
++++     {
++++             A a = new A (8);
++++             B b = new B (9);
++++
++++             b.SetCount (10);
++++             Console.WriteLine ("b.Count should be 9: {0}", b.Count);
++++             Console.WriteLine ("b [{0}] should return {0}: {1}", 10, b [10]);
++++
++++             Console.WriteLine ("a.Message : {0}", a.Message);
++++             b.Message = "";
++++             Console.WriteLine ("b.Messasge : {0}", b.Message);
++++     }
++++
++++ }
++++
++++ public class A {
++++
++++     protected int count;
++++
++++     public A (int count)
++++     {
++++             this.count = count;
++++     }
++++
++++     public virtual int Count {
++++             get {
++++                     return count;
++++             }
++++             protected set {
++++                     count = value;
++++             }
++++     }
++++
++++     public virtual int this [int index] {
++++             get {
++++                     return index;
++++             }
++++     }
++++
++++     public virtual string Message {
++++             get {
++++                     return "Hello Mono";
++++             }
++++     }
++++
++++ }
++++
++++ public class B : A {
++++
++++     public B (int count) : base (count)
++++     {
++++     }
++++
++++     public override int Count {
++++             protected set {
++++             }
++++     }
++++
++++     public void SetCount (int value)
++++     {
++++             Count = value;
++++     }
++++
++++     public override int this [int index] {
++++             get {
++++                     return base [index];
++++             }
++++     }
++++
++++     public new string Message {
++++             get {
++++                     return "Hello Mono (2)";
++++             }
++++             internal set {
++++             }
++++     }
++++
++++ }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8f2f0aaa9bbad43bf6eeb2908f815528449254a2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,139 @@@@@
++++// Compiler options: -t:library\r
++++
++++using System;
++++
++++public struct Result {
++++    public int res;
++++    // big enough that it won't be returned in registers
++++    double duh;
++++    long bah;
++++
++++    public Result (int val) {
++++            res = val;
++++            bah = val;
++++            duh = val;
++++    }
++++}
++++
++++public class Vararg
++++{
++++    public static int AddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public static int AddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public static Result VtAddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++
++++    public static Result VtAddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++
++++    public int InstAddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public int InstAddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return result;
++++    }
++++
++++    public Result InstVtAddABunchOfInts (__arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++
++++    public Result InstVtAddASecondBunchOfInts (int a, __arglist)
++++    {
++++            int result = 0;
++++
++++            System.ArgIterator iter = new System.ArgIterator (__arglist);
++++            int argCount = iter.GetRemainingCount();
++++
++++            for (int i = 0; i < argCount; i++) {
++++                    System.TypedReference typedRef = iter.GetNextArg();
++++                    result += (int)TypedReference.ToObject( typedRef );
++++            }
++++            
++++            return new Result (result);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..480ab2801b5e739feb183c24d8d1ff15cc5ddd74
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,61 @@@@@
++++// Compiler options: -r:test-399-lib.dll
++++
++++using System;
++++
++++class TestVararg
++++{
++++    static int Main ()
++++    {
++++            int result = Vararg.AddABunchOfInts (__arglist ( 2, 3, 4 ));
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 9)
++++                    return 1;
++++
++++            result = Vararg.AddASecondBunchOfInts (16, __arglist ( 2, 3, 4 ));
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 9)
++++                    return 2;
++++
++++            Vararg s = new Vararg ();
++++
++++            result = s.InstAddABunchOfInts (__arglist ( 2, 3, 4, 5 ));
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 14)
++++                    return 3;
++++
++++            result = s.InstAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 ));
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 20)
++++                    return 4;
++++
++++            result = s.InstVtAddABunchOfInts (__arglist ( 2, 3, 4, 5 )).res;
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 14)
++++                    return 5;
++++
++++            result = s.InstVtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 )).res;
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 20)
++++                    return 6;
++++
++++            result = Vararg.VtAddABunchOfInts (__arglist ( 2, 3, 4, 5, 1 )).res;
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 15)
++++                    return 7;
++++
++++            result = Vararg.VtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6, 1 )).res;
++++            Console.WriteLine ("Answer: {0}", result);
++++
++++            if (result != 21)
++++                    return 8;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa1f15e100ba92dbfd4dde50248111a57540a5b4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,182 @@@@@
++++// Compiler options: -unsafe
++++
++++//
++++// Tests unsafe operators.  address-of, dereference, member access
++++//
++++using System;
++++
++++unsafe struct Y {
++++    public int a;
++++    public int s;
++++}
++++
++++unsafe class X {
++++    static int TestDereference ()
++++    {
++++            Y y;
++++            Y *z; 
++++            Y a;
++++
++++            z = &y;
++++            y.a = 1;
++++            y.s = 2;
++++
++++            a.a = z->a;
++++            a.s = z->s;
++++
++++            if (a.a != y.a)
++++                    return 1;
++++            if (a.s != y.s)
++++                    return 2;
++++
++++            return 0;
++++    }
++++
++++    static int TestPtrAdd ()
++++    {
++++            int [] a = new int [10];
++++            int i;
++++            
++++            for (i = 0; i < 10; i++)
++++                    a [i] = i;
++++
++++            i = 0;
++++            fixed (int *b = &a [0]){ 
++++                    int *p = b;
++++
++++                    for (i = 0; i < 10; i++){
++++                            if (*p != a [i])
++++                                    return 10+i;
++++                            p++;
++++                    }
++++            }
++++            return 0;
++++    }
++++
++++    static int i = 1;
++++    static char c = 'a';
++++    static long l = 123;
++++    static double d = 1.2;
++++    static float f = 1.3F;
++++    static short s = 4;
++++    
++++    static int TestPtrAssign ()
++++    {
++++
++++            fixed (int *ii = &i){
++++                    *ii = 10;
++++            }
++++
++++            fixed (char *cc = &c){
++++                    *cc = 'b';
++++            }
++++
++++            fixed (long *ll = &l){
++++                    *ll = 100;
++++            }
++++
++++            fixed (double *dd = &d){
++++                    *dd = 3.0;
++++            }
++++
++++            fixed (float *ff = &f){
++++                    *ff = 1.2F;
++++            }
++++
++++            fixed (short *ss = &s){
++++                    *ss = 102;
++++            }
++++
++++            if (i != 10)
++++                    return 100;
++++            if (c != 'b')
++++                    return 101;
++++            if (l != 100)
++++                    return 102;
++++            if (d != 3.0)
++++                    return 103;
++++            if (f != 1.2F)
++++                    return 104;
++++            if (s != 102)
++++                    return 105;
++++            return 0;
++++    }
++++
++++    static int TestPtrArithmetic ()
++++    {
++++            char [] array = new char [10];
++++            char *pb;
++++
++++            array [5] = 'j';
++++            fixed (char *pa = array){
++++                    pb = pa + 1;
++++
++++
++++                    //
++++                    // This one tests pointer element access
++++                    //
++++                    if (pa [5] != 'j')
++++                            return 199;
++++                    
++++                    Console.WriteLine ("V: " + (pb - pa));
++++                    if ((pb - pa) != 1)
++++                            return 200;
++++
++++                    pb++;
++++
++++                    if (pb == pa)
++++                            return 201;
++++                    if (pb < pa)
++++                            return 202;
++++                    if (pa > pb)
++++                            return 203;
++++                    if (pa >= pb)
++++                            return 204;
++++                    if (pb <= pa)
++++                            return 205;
++++                    pb = pb - 2;
++++                    if (pb != pa){
++++                            Console.WriteLine ("VV: " + (pb - pa));
++++                            return 206;
++++                    }
++++            }
++++
++++            return 0;
++++    }
++++
++++    static int TestMultiple ()
++++    {
++++            char [] array = new char [10];
++++            int count = 0;
++++            
++++            fixed (char *pa = array, pb = array){
++++                    count++;
++++            }
++++            if (count != 1)
++++                    return 300;
++++            return 0;
++++    }
++++    
++++    static int Main ()
++++    {
++++            int v;
++++
++++            if ((v = TestDereference ()) != 0)
++++                    return v;
++++
++++            if ((v = TestPtrAdd ()) != 0)
++++                    return v;
++++
++++            if ((v = TestPtrAssign ()) != 0)
++++                    return v;
++++
++++            if ((v = TestPtrArithmetic ()) != 0)
++++                    return v;
++++
++++            if ((v = TestMultiple ()) != 0)
++++                    return v;
++++            
++++            Console.WriteLine ("Ok");
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7293b24e93d3dad7cd239f7289e69a16035202fa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,49 @@@@@
++++// Compiler options: -unsafe
++++
++++//
++++// This test excercises stackalloc, some pointer arithmetic,
++++// and dereferences
++++//
++++using System;
++++unsafe class X {
++++    static int Main ()
++++    {
++++            char *ptr = stackalloc char [10];
++++            char *cptr = ptr;
++++            int i;
++++            long l = 0;
++++            ulong ul = 0;
++++            byte b = 0;
++++            
++++            for (i = 0; i < 10; i++)
++++                    ptr [i] = (char) (i + 10);
++++
++++            for (i = 0; i < 10; i++){
++++                    if (*ptr != (char) (i + 10))
++++                            return 200 + i;
++++                    ptr++;
++++            }
++++
++++
++++            // Now test index access with longs
++++            if (cptr [l] != 10){
++++                    return 1;
++++            }
++++            if (cptr [ul] != 10)
++++                    return 2;
++++            if (cptr [b] != 10)
++++                    return 3;
++++
++++            //
++++            // Try to compile non-int values
++++            //
++++            byte* bptr = (byte*) 5;
++++                ushort us = 3;
++++                byte* ret = (byte*) (bptr + us);
++++                    
++++            Console.WriteLine ("Ok");
++++            return 0;
++++    }
++++}   
++++
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee6fc0c606ab97e9b4f52eb2aced5283e81133e2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -unsafe
++++
++++using System;
++++
++++unsafe class X {
++++    static int Main () {
++++            int y = 20;
++++            byte* x = (byte*)0;
++++            x += (long)y;
++++            // x == 20;
++++            return (int)x - 20 * sizeof (byte);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c757fd54c1eeb36ea266c799939094fa75ba3d03
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,33 @@@@@
++++// Compiler options: -unsafe
++++
++++// this tests making a pointer to a pointer
++++
++++using System;
++++
++++unsafe class Foo
++++{
++++    public static int Main ()
++++    {
++++            int a;
++++            int *b;
++++            int **c;
++++
++++            a = 42;
++++            b = &a;
++++            c = &b;
++++            
++++            Console.WriteLine ("*c == b : {0}", *c == b);
++++            Console.WriteLine ("**c == a : {0}", **c == a);
++++
++++            if (*c == b && **c == a)
++++            {
++++                    Console.WriteLine ("Test passed");
++++                    return 0;
++++            }
++++            else
++++            {
++++                    Console.WriteLine ("Test failed");
++++                    return 1;
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cbb1e323ad08b390cffa997379c8cfecc504a4e8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,26 @@@@@
++++// Compiler options: -unsafe
++++
++++unsafe class X {
++++    static int v;
++++    static int v_calls;
++++    
++++    static int* get_v ()
++++    {
++++            v_calls++;
++++            fixed (int* ptr = &v)
++++            {
++++                return ptr;
++++            }
++++    }
++++    
++++    static int Main ()
++++    {
++++            if ((*get_v ())++ != 0)
++++                    return 1;
++++            if (v != 1)
++++                    return 2;
++++            if (v_calls != 1)
++++                    return 3;
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..926a7fdf7e613363c56122d219e6845c77df08da
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// Compiler options: -unsafe
++++
++++using System;
++++
++++namespace testapp{
++++        public unsafe class LibTestAPI{
++++
++++                struct LibTestStruct{
++++                        void* pData;
++++                        void* pTest1;
++++                }
++++
++++                LibTestStruct* the_struct;
++++
++++                public void Create(){
++++                        IntPtr MyPtr = new IntPtr(0); // Usually created elsewhere
++++                        the_struct = (LibTestStruct *) 0;  // error CS1002
++++                }
++++        }
++++
++++        class TestApp{
++++                static void Main(string[] args){
++++                        LibTestAPI myapi = new LibTestAPI();
++++                        myapi.Create();
++++                }
++++        }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f2aa9c4a43f15b31956a4e0869bd35f3e4ffd767
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,48 @@@@@
++++// Compiler options: -unsafe
++++
++++//
++++// This tests excercises the compound assignment when the left side
++++// is an dereference operator.
++++//
++++using System;
++++namespace TestCase {
++++    public unsafe class Test {
++++            static int Main(string[] args) {
++++                    uint[] uArr = {0, 200};
++++                    uint[] uArr2 = {0, 200};
++++
++++                    fixed (uint* u = uArr, u2 = uArr2) {
++++                            if (DoOp (u) != 100)
++++                                    return 1;
++++
++++                            if (uArr [0] != 100)
++++                                    return 2;
++++
++++                            if (uArr [1] != 200)
++++                                    return 3;
++++
++++                            if (DoOp2 (u2) != 100)
++++                                    return 4;
++++
++++                            if (uArr2 [0] != 100)
++++                                    return 5;
++++
++++                            if (uArr2 [1] != 200)
++++                                    return 6;
++++                    }
++++
++++                    return 0;
++++            }
++++
++++            private static uint DoOp (uint *u) {
++++                    return *(u) += 100;
++++            }
++++
++++            private static uint DoOp2 (uint *u) {
++++                    *(u) += 100;
++++                    return *u;
++++            }
++++
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..13d5d86ff5986dbd21cd66136c8038f11421c008
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++// Compiler options: -unsafe
++++
++++struct Obsolete {
++++    int a;
++++}
++++struct A {
++++    int a, b;
++++}
++++
++++class MainClass {
++++        unsafe public static void Main ()
++++        {
++++                System.Console.WriteLine (sizeof (Obsolete));
++++        }
++++}
++++
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..51ff6b0394d01344d84962a995de0e32e7cc9654
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,9 @@@@@
++++// Compiler options: -unsafe
++++
++++unsafe class T {
++++    static int Main () {
++++            int len = 10;
++++            int* x = stackalloc int [len];
++++            return x [0];
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f35fd3eb78558cca73eea36c4730e61dd5d64c39
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++// Compiler options: -unsafe
++++
++++//
++++// Test for http://bugzilla.ximian.com/show_bug.cgi?id=62263
++++//
++++// We need to make sure that pointer arth uses the size of X
++++// not the size of X*
++++//
++++
++++using System;
++++unsafe struct X {
++++    int x, y, z;
++++    
++++    static int Main ()
++++    {
++++            X* foo = null;
++++            
++++            if ((int) (foo + 1) != sizeof (X))
++++                    return 1;
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..82eb4bb1c8b2f9bce2426b3007c5e1d3d9302198
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,9 @@@@@
++++// Compiler options: -t:library
++++
++++namespace Q {
++++    public class A {
++++            public static new string ToString() {
++++                    return "Hello world!";
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2a21c465cda3be6303e2c44db92737b71414390f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++// Compiler options: -r:test-410-lib.dll
++++
++++using System;
++++using Q;
++++
++++public class B {
++++    public static int Main() {
++++            return (A.ToString() == "Hello world!") ? 0 : 1;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50c0c8046712f0662c316f44c7ebcb5e0153c55a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,12 @@@@@
++++// Compiler options: -t:library
++++
++++namespace Qt
++++{
++++    public class QtSupport
++++    {
++++            protected static event MousePressEvent mousePressEvent;
++++
++++            protected delegate void MousePressEvent ();
++++    }
++++
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e8f70bc78687dc60e59e771a7c1797ba5070391c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++// Compiler options: -r:test-411-lib.dll
++++
++++namespace QtSamples
++++{
++++    using Qt;
++++
++++    public class QtClass: QtSupport
++++    {
++++            public QtClass()
++++            {
++++                    mousePressEvent += new MousePressEvent( pressEvent );
++++            }
++++            
++++            public void pressEvent() { }
++++    }
++++
++++
++++    public class Testing
++++    {
++++            public static int Main()
++++            {
++++                    QtClass q = new QtClass();
++++
++++                    return 0;
++++            }
++++    }
++++}
++++
++++
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3760733dc2d5459b509c69cb8c130696bc10bb96
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++// Compiler options: -t:library
++++
++++using System;
++++using System.Runtime.InteropServices;
++++
++++namespace Foo {
++++  public class Bar {
++++    public const CallingConvention CConv = CallingConvention.Cdecl;
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d7382e38d1b0c2892acc9e86b2dcfbf057e85f2f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++// Compiler options: -r:test-412-lib.dll
++++
++++using System;
++++using System.Runtime.InteropServices;
++++
++++namespace Foo {
++++  public class Baz {
++++    [DllImport("foo.so", CallingConvention=Bar.CConv)]
++++    public static extern void doFoo();
++++
++++      public static void Main ()
++++      { }
++++  }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0f2614a46c1b017f3b9dd6475573f625088fbf4d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++// Compiler options: -t:library
++++
++++namespace Foo {
++++namespace Bar {
++++        public class Baz {
++++                public class Inner {
++++                        public static void Frob() { }
++++                }
++++        }
++++}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3c1ad23d57463f0626772f33b494ab5dd3bb1444
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++// Compiler options: -r:test-413-lib.dll
++++
++++using Inner = Foo.Bar.Baz.Inner;
++++public class Driver {
++++        public static void Main () {
++++                Inner.Frob();
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7bdbb1cddde39b737e07d47bc067f7406ec3a619
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++// Compiler options: -t:library
++++//
++++// First file of a 2-test file to check for #69361
++++// 
++++public class AA
++++{
++++    internal protected virtual string Data {
++++            get { return null; }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9a5710c7a0b659900bdb56fad4b4bcd87d2b53a4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++// Compiler options: -r:test-414-lib.dll
++++public class BB : AA
++++{
++++    protected override string Data {
++++            get { return null; }
++++    }
++++    public static void Main () {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bec8b987ff2170726e34be6402952f79e980bc72
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++// Compiler options: -t:library
++++
++++using System;
++++public abstract class MyTestAbstract
++++{
++++    protected abstract string GetName();
++++    
++++    public MyTestAbstract()
++++    {
++++    }
++++
++++    public void PrintName()
++++    {
++++            Console.WriteLine("Name=" + GetName());
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f6f9361d65a69d4095f8515c2487475d9b504061
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++// Compiler options: -r:test-415-lib.dll
++++
++++using System;
++++public class MyTestExtended : MyTestAbstract
++++{
++++    public MyTestExtended() : base()
++++    {
++++    }
++++
++++    protected override string GetName() { return "foo"; }
++++    public static void Main(string[] args)
++++    {
++++            Console.WriteLine("Calling PrintName");
++++            MyTestExtended test = new MyTestExtended();
++++            test.PrintName();
++++            Console.WriteLine("Out of PrintName");
++++    }
++++    
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c3cf4a1514c501632388e7700b6e9d92e45c296c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,12 @@@@@
++++// Compiler options: -t:module\r
++++\r
++++namespace n1\r
++++{\r
++++        public class Adder\r
++++        {\r
++++                public int Add(int x, int y)\r
++++                {\r
++++                        return x+y;\r
++++                }\r
++++        }\r
++++}\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..28f956d015ecd5cc56c1715d069a2e36108dade9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@
++++// Compiler options: -addmodule:test-416-mod.netmodule
++++
++++using n1;
++++using System;
++++
++++public class ModTest
++++{
++++        
++++        public static void Main(string[] args)
++++        {
++++                Adder a=new Adder();
++++                Console.WriteLine(a.Add(2,3));
++++        }
++++
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..632fd6ef3dca309bb75286e2ada7572fd5656387
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++// Compiler options: -t:library
++++
++++using System;
++++
++++namespace blah
++++{
++++
++++public delegate void MyFunnyDelegate(object sender, params object[] message);
++++
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..590dbb1a9d2ca71611b7d98dc5f62565020f3028
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,26 @@@@@
++++// Compiler options: -r:test-417-lib.dll
++++
++++using System;
++++using blah;
++++
++++namespace blah2
++++{
++++
++++public class MyClass
++++{
++++    public event MyFunnyDelegate DoSomething;
++++
++++    public void DoSomethingFunny()
++++    {
++++        if (DoSomething != null) DoSomething(this, "hello there", "my friend");
++++    }
++++
++++    public static void Main(string[] args)
++++    {
++++            MyClass mc = new MyClass();
++++            mc.DoSomethingFunny();
++++
++++    }
++++}
++++
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..286fbebf78f0faf3b50620ea2307ce294cc59262
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -t:module
++++
++++using System;
++++
++++public class M1 {
++++
++++    public string Foo;
++++
++++    public M1 (string foo) {
++++            this.Foo = foo;
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1c9aa16d9dabcbc346143358c9df36c03219760e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,5 @@@@@
++++// Compiler options: -t:module
++++
++++public class M2 {
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..acbb03841fc000231b7795713eeb44233e2db151
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++// Compiler options: -addmodule:test-418-2-mod.netmodule -addmodule:test-418-3-mod.netmodule
++++
++++using System;
++++
++++public class M3 : M1 {
++++
++++    public M3 () : base ("FOO") {
++++    }
++++
++++    public static int Main () {
++++            if (new M3 ().Foo != "FOO")
++++                    return 1;
++++            /* Test that the EXPORTEDTYPES table is correctly set up */
++++            if (typeof (M3).Assembly.GetTypes ().Length != 3)
++++                    return 2;
++++            if (typeof (M3).Assembly.GetType ("M2") == null)
++++                    return 3;
++++            if (typeof (M3).Assembly.GetType ("M2") != typeof (M2))
++++                    return 3;
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bc167f108d241005e7297df7c94cd38712079fa8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,4 @@@@@
++++// Compiler options: -t:library
++++
++++internal class Provider {
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aeee13693671bdf84eae395608dd865546ec564f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -t:library
++++
++++public class Provider {
++++    public static void Main ()
++++    {
++++    }
++++}
++++
++++public class Foo {
++++    public static void Main ()
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6e993d3950ba30ff8e7f3a1eff746d15662cdcc5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,7 @@@@@
++++// Compiler options: -r:test-419-2-lib.dll -r:test-419-3-lib.dll
++++
++++class Test {
++++        static void Main () {
++++                Provider p = new Provider ();
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..99efeda89be53836bd6537b6d937a65c58be538d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,7 @@@@@
++++// Compiler options: -r:test-419-3-lib.dll -r:test-419-2-lib.dll
++++
++++class Test {
++++        static void Main () {
++++                Provider p = new Provider ();
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0bb2390c698174b82f9d4c2e97d8946e02380300
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++delegate void S ();
++++
++++class X {
++++
++++    //
++++    // DO NOT ADD ANYTHING ELSE TO THIS TEST
++++    //
++++    static int Main ()
++++    {
++++            int a;
++++
++++            S b = delegate {
++++                    a = 2;
++++            };
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..21fe237a934697bde738795aa8cc36e4b4494a03
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,39 @@@@@
++++//
++++// This test checks various uses of captured local variables
++++//
++++using System;
++++
++++delegate void S ();
++++
++++class X {
++++    static int Main ()
++++    {
++++            int a = 1;
++++            Console.WriteLine ("A is = " + a);
++++            int c = a;
++++            Console.WriteLine (c);
++++            if (a != 1){
++++                    return 1;
++++            }
++++            
++++            S b = delegate {
++++                    if (a != 1)
++++                            Environment.Exit (1);
++++                    Console.WriteLine ("in Delegate");
++++                    a = 2;
++++                    if (a != 2)
++++                            Environment.Exit (2);
++++                    Console.WriteLine ("Inside = " + a);
++++                    a = 3;
++++                    Console.WriteLine ("After = " + a);
++++            };
++++            if (a != 1)
++++                    return 3;
++++            b ();
++++            if (a != 3)
++++                    return 4;
++++            Console.WriteLine ("Back, got " + a);
++++            Console.WriteLine ("Test is ok");
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c6f4032579b098d1c8043c50a9e2bda1dbc8baff
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++//
++++// Simple variable capturing
++++//
++++using System;
++++
++++delegate void S ();
++++
++++class X {
++++    static void Main ()
++++    {
++++            int a = 1;
++++            S b = delegate {
++++                    a = 2;
++++            };
++++            b ();
++++            Console.WriteLine ("Back, got " + a);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50985f4fb2bee92ed3d2a906c97000cda74f93fc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++//
++++// Capturing test.
++++//
++++using System;
++++
++++delegate void S ();
++++
++++class X {
++++    static void Main ()
++++    {
++++            int a = 1;
++++            S b = delegate {
++++                    float f = 1;
++++                    Console.WriteLine (a);
++++                    if (f == 2)
++++                            return;
++++            };
++++            b ();
++++            Console.WriteLine ("Back, got " + a);
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fe456bede026f0c28b891292624c3a69bf5c9c28
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,38 @@@@@
++++//
++++// Tests capturing of double nested variables
++++//
++++using System;
++++delegate void S ();
++++
++++class X {
++++    static int Main ()
++++    {
++++            int i;
++++            S b = null;
++++            
++++            for (i = 0; i < 10; i++){
++++                    int j = 0;
++++                    b = delegate {
++++                            Console.WriteLine ("i={0} j={1}", i, j);
++++                            i = i + 1;
++++                            j = j + 1;
++++                    };
++++            }
++++            Console.WriteLine ("i = {0}", i);
++++            b ();
++++            Console.WriteLine ("i = {0}", i);
++++            if (!t (i, 11))
++++                    return 1;
++++            b ();
++++            if (!t (i, 12))
++++                    return 2;
++++            Console.WriteLine ("i = {0}", i);
++++            Console.WriteLine ("Test is OK");
++++            return 0;
++++    }
++++
++++    static bool t (int a, int b)
++++    {
++++            return a == b;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..758bcc70f6de9cece684a1b825da93317647dfba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++//
++++// Tests capturing of variables
++++//
++++using System;
++++
++++delegate void S ();
++++
++++class X {
++++    static int Main ()
++++    {
++++            int a = 1;
++++            if (a != 1)
++++                    return 1;
++++            
++++            Console.WriteLine ("A is = " + a);
++++            S b= delegate {
++++                    Console.WriteLine ("on delegate");
++++                    a = 2;
++++            };
++++            if (a != 1)
++++                    return 2;
++++            b();
++++            if (a != 2)
++++                    return 3;
++++            Console.WriteLine ("OK");
++++            return 0;
++++    }
++++}
++++            
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0dcd92fb3bc3b89c2ebc03a696f974e0caa72634
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,37 @@@@@
++++//
++++// Tests havign more than one anonymous method that captures the same variable
++++//
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++    static int Main ()
++++    {
++++            int a = 0;
++++            D d1 = delegate {
++++                    Console.WriteLine ("First");
++++                    a = 1;
++++            };
++++            
++++            D d2 = delegate {
++++                    Console.WriteLine ("Second");
++++                    a = 2;
++++            };
++++            if (!t (a, 0))
++++                    return 1;
++++            d1 ();
++++            if (!t (a, 1))
++++                    return 2;
++++            d2 ();
++++            if (!t (a, 2))
++++                    return 3;
++++            Console.WriteLine ("Test passes OK");
++++            return 0;
++++    }
++++
++++    static bool t (int a, int b)
++++    {
++++            return a == b;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..40602f3a2745c9266495dce407d0fb30d66e8f68
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++//
++++// Tests assignment of a captured variable to another
++++// Do not add anything else to this test.
++++//
++++delegate void S ();
++++
++++class X {
++++
++++    //
++++    // DO NOT ADD ANYTHING ELSE TO THIS TEST
++++    //
++++    static int Main ()
++++    {
++++            int a = 2;
++++            int b = 1;
++++            S d = delegate {
++++                    a = b;
++++            };
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..55d3fdd8f7409f5b1d9e3eaa4bcc0757075a58b0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@
++++//
++++// Tests unary mutator operators on captured variables
++++//
++++using System;
++++
++++class X {
++++    delegate void D ();
++++
++++    static int gt, gj;
++++    
++++    static int Main ()
++++    {
++++            int times = 0;
++++            
++++            D d = delegate {
++++                int t = times++;
++++                int j = ++times;
++++
++++                gt = t;
++++                gj = j;
++++            };
++++            d ();
++++
++++            if (gt != 0)
++++                    return 1;
++++            if (gj != 2)
++++                    return 2;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..065f7c2cae5bf95eb531e2809dfbb4114c486b7d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,41 @@@@@
++++//
++++// This test exercises the access to a field instance from an instance
++++// method that has an anonymous method.
++++// 
++++using System;
++++
++++class S {
++++    delegate void T ();
++++
++++    T t;
++++
++++    int f;
++++
++++    public void Test ()
++++    {
++++            // The loop just forces the creation of a helper class, so
++++            // that the anonymous method is not placed side-by-side this
++++            // method.
++++            int a = 1;
++++            for (int i = a; i < 10; i++){
++++                    int j = i;
++++                    t = delegate {
++++                            Console.WriteLine ("Before: {0} {1} {2}", f, i, j);
++++                            f = i;
++++                    };
++++            }
++++    }
++++    
++++    static int Main ()
++++    {
++++        S s = new S ();
++++        s.Test ();
++++        s.t ();
++++        if (s.f == 10)
++++                return 0;
++++        Console.WriteLine ("Failed:" + s.f);
++++        return 1;
++++    }
++++}
++++    
++++            
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f63b9231f64c9010dd3ed2b4c3c5717f08e74fea
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++//
++++// Parameter and return value compilation tests for anonymous methods
++++//
++++delegate void D (int x);
++++delegate void E (out int x);
++++
++++class X {
++++    static int Main ()
++++    {
++++            // This should create an AnonymousMethod with the implicit argument
++++            D d1 = delegate {};
++++            D d2 = delegate (int a) {};
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d2265a53b9049ce0b647932dbd1875795372738b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,45 @@@@@
++++using System;
++++using System.Collections;
++++
++++delegate bool predicate (object a);
++++
++++class X {
++++
++++    static int Main ()
++++    {
++++            ArrayList a = new ArrayList ();
++++            for (int i = 0; i < 10; i++)
++++                    a.Add (i);
++++
++++            ArrayList even = Find (delegate (object arg) {
++++                    return ((((int) arg) % 2) == 0);
++++            }, a);
++++
++++            Console.WriteLine ("Even numbers");
++++            foreach (object r in even){
++++                    Console.WriteLine (r);
++++            }
++++            if (even.Count != 5)
++++                    return 1;
++++            if (((int)even [0]) != 0 ||
++++                ((int)even [1]) != 2 ||
++++                ((int)even [2]) != 4 ||
++++                ((int)even [3]) != 6 ||
++++                ((int)even [4]) != 8)
++++                    return 2;
++++                            
++++            return 0;
++++    }
++++
++++    static ArrayList Find (predicate p, ArrayList source)
++++    {
++++            ArrayList result = new ArrayList ();
++++
++++            foreach (object a in source){
++++                    if (p (a))
++++                            result.Add (a);
++++            }
++++
++++            return result;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e90e976b4768e0d4416616c4e886380c76eb862d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,37 @@@@@
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++    static void Main ()
++++    {
++++            X x = new X (1);
++++            X y = new X (100);
++++            D a = x.T ();
++++            D b = y.T ();
++++
++++            a ();
++++            b ();
++++    }
++++
++++    X (int start)
++++    {
++++            ins = start;
++++    }
++++
++++    int ins;
++++
++++    D T ()
++++    {
++++            D d = delegate () {
++++                    Console.WriteLine ("My state is: " + CALL ());
++++            };
++++
++++            return d;
++++    }
++++    string CALL ()
++++    {
++++            return "GOOD";
++++    }
++++
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..572e9bc66bf5ea8abd8870c11affdf50cd972237
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++// Compiler options: -langversion:default
++++
++++//
++++// Anonymous method group conversions
++++//
++++
++++class X {
++++    delegate void T ();
++++    static event T Click;
++++
++++    static void Method ()
++++    {
++++    }
++++
++++    static void Main ()
++++    {
++++            T t;
++++
++++            // Method group assignment
++++            t = Method;
++++
++++            Click += Method;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9a865b1e8894b73589797bc005e57bc6fe9b63b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++public class Foo {
++++    delegate Inner foo_fn(string s);
++++    public static void Main()
++++    {
++++            foo_fn f = delegate (string s) {
++++                    return new Inner(s + s);
++++            };
++++            f ("Test");
++++    }
++++
++++    class Inner
++++    {
++++            public Inner (string s)
++++            { }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..01500c1baf481b3839b0fed414a0fe499482e7b0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++//
++++// Instance access.
++++//
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++    static void Main ()
++++    {
++++            X x = new X (1);
++++            X y = new X (100);
++++            D a = x.T ();
++++            D b = y.T ();
++++
++++            a ();
++++            b ();
++++    }
++++
++++    X (int start)
++++    {
++++            ins = start;
++++    }
++++
++++    int ins;
++++
++++    D T ()
++++    {
++++            D d = delegate () {
++++                    Console.WriteLine ("My state is: " + ins);
++++            };
++++
++++            return d;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a05dd23f3316e8a5ff0e9852f42ccb4ba8012e85
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,38 @@@@@
++++//
++++// Tests the syntax for delegates and events
++++//
++++using System;
++++
++++delegate void ClickEvent ();
++++
++++class Button {
++++    public event ClickEvent Clicked;
++++
++++    public void DoClick ()
++++    {
++++            Clicked ();
++++    }
++++    
++++}
++++
++++class X {
++++    static bool called = false;
++++    
++++    static int Main ()
++++    {
++++            Button b = new Button ();
++++                                   
++++            b.Clicked += delegate {
++++                    Console.WriteLine ("This worked!");
++++                    called = true;
++++            };
++++
++++            b.DoClick ();
++++            
++++            if (called)
++++                    return 0;
++++            else
++++                    return 1;
++++    }
++++    
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..678c0b5f50633aa9274e3dc0b35b55088bb76a6b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++using System;
++++        
++++delegate void A ();
++++
++++class DelegateTest {
++++    static void Main (string[] argv)
++++    {
++++            Console.WriteLine ("Test");
++++
++++            foreach (string arg in argv) {
++++                    Console.WriteLine ("OUT: {0}", arg);
++++                    A a = delegate {
++++                            Console.WriteLine ("arg: {0}", arg);
++++                    };
++++                    a ();
++++            }
++++    }
++++}
++++      
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..050b9fb65aa95dd4a1901859005e7988bb88cbf7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++//
++++// Tests capturing of double nested variables
++++//
++++using System;
++++
++++delegate void S ();
++++
++++class X {
++++    static int Main ()
++++    {
++++            int i;
++++            int a = 0;
++++            S b = null;
++++            
++++            for (i = 0; i < 10; i++){
++++                    int j = 0;
++++                    b = delegate {
++++                            Console.WriteLine ("i={0} j={1}", i, j);
++++                            i = i + 1;
++++                            j = j + 1;
++++                            a = j;
++++                    };
++++            }
++++            b ();
++++            Console.WriteLine ("i = {0}", i);
++++            if (!t (i, 11))
++++                    return 1;
++++            b ();
++++            if (!t (i, 12))
++++                    return 2;
++++            Console.WriteLine ("i = {0}", i);
++++            Console.WriteLine ("a = {0}", a);
++++            if (!t (a, 2))
++++                    return 3;
++++            
++++            return 0;
++++    }
++++
++++    static bool t (int a, int b)
++++    {
++++            return a == b;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..da92400d7c488c607f377f5db70acb7898206317
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,37 @@@@@
++++//
++++// Nested anonymous methods tests and capturing of different variables.
++++//
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++    static D GlobalStoreDelegate;
++++    
++++    static void Main ()
++++    {
++++            D d = MainHost ();
++++
++++            d ();
++++            GlobalStoreDelegate ();
++++            GlobalStoreDelegate ();
++++    }
++++
++++    static D MainHost ()
++++    {
++++            int toplevel_local = 0;
++++            
++++            D d = delegate () {
++++                    int anonymous_local = 1;
++++                    
++++                    GlobalStoreDelegate = delegate {
++++                            Console.WriteLine ("var1: {0} var2: {1}", toplevel_local, anonymous_local);
++++                            anonymous_local = anonymous_local + 1;
++++                    };
++++
++++                    toplevel_local = toplevel_local + 1;
++++            };
++++
++++            return d;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7531dfe6145e85d9c9a985fe8f8948604f2db528
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++//
++++// Nested anonymous methods and capturing of variables test
++++//
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++
++++    static int Main ()
++++    {
++++            X x = new X();
++++            x.M ();
++++            e ();
++++                Console.WriteLine ("J should be 101= {0}", j);
++++            if (j != 101)
++++                    return 3;
++++            Console.WriteLine ("OK");
++++            return 0;
++++    }
++++
++++    static int j = 0;
++++    static D e;
++++    
++++    void M ()
++++    {
++++            int l = 100;
++++
++++            D d = delegate {
++++                    int b;
++++                    b = 1;
++++                    Console.WriteLine ("Inside d");
++++                    e = delegate {
++++                                    Console.WriteLine ("Inside e");
++++                                    j = l + b;
++++                                    Console.WriteLine ("j={0} l={1} b={2}", j, l, b);
++++                    };
++++            };
++++            Console.WriteLine ("Calling d");
++++            d ();
++++    }
++++    
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b697da3bf836c21ab83dd37749cd9e8707424e0d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++//
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++    static D r;
++++    
++++    static void Main ()
++++    {
++++            D d = T ();
++++
++++            d ();
++++            r ();
++++            r ();
++++    }
++++
++++    static D T ()
++++    {
++++            int var1 = 0;
++++            
++++            D d = delegate () {
++++                    int var2 = 1;
++++                    
++++                    r = delegate {
++++                            Console.WriteLine ("var1: {0} var2: {1}", var1, var2);
++++                            var2 = var2 + 1;
++++                    };
++++
++++                    var1 = var1 + 1;
++++            };
++++
++++            return d;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8fcb6d4bc5be6c64467872b315512b6cc84fd3bd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,36 @@@@@
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++
++++    static int Main ()
++++    {
++++            X x = new X();
++++            x.M ();
++++            e ();
++++                Console.WriteLine ("J should be 101= {0}", j);
++++            if (j != 101)
++++                    return 3;
++++            Console.WriteLine ("OK");
++++            return 0;
++++    }
++++
++++    static int j;
++++    static D e;
++++    
++++    void M ()
++++    {
++++            int l = 100;
++++
++++            D d = delegate {
++++                    int b;
++++                    b = 1;
++++                    e = delegate {
++++                                    j = l + b;
++++                            };
++++                    };
++++            d ();
++++    }
++++    
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8b7169478281189cc5257b3424869c0fc903c83d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++using System;
++++
++++delegate int D ();
++++
++++class X {
++++
++++    static void Main ()
++++    {
++++            D x = T (1);
++++
++++            Console.WriteLine ("Should be 2={0}", x ());
++++    }
++++
++++    static D T (int a)
++++    {
++++            D d = delegate {
++++                    a = a + 1;
++++                    return a;
++++            };
++++
++++            return d;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7aafe7f7bdbf3ddeb8594c42ddad2b9af9a1dde5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++using System;
++++
++++delegate int D (int arg);
++++
++++class X {
++++
++++    static int Main ()
++++    {
++++            D x = T (1);
++++
++++            int v = x (10);
++++            Console.WriteLine ("Should be 11={0}", v);
++++            return v == 11 ? 0 : 1;
++++    }
++++
++++    static D T (int a)
++++    {
++++            D d = delegate (int arg) {
++++                    return arg + a;
++++            };
++++
++++            return d;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5a3f6a8144dc46e47cc87eaefa28a11a4bf84392
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// Compiler options: -unsafe
++++using System;
++++
++++delegate int D ();
++++
++++unsafe class X {
++++
++++    static int Main ()
++++    {
++++            D x = T (1);
++++
++++            int v = x ();
++++            Console.WriteLine ("Should be 2={0}", v);
++++            return v == 2 ? 0 : 1;
++++    }
++++
++++    static D T (int a)
++++    {
++++            D d = delegate {
++++                    int *x = &a;
++++
++++                    *x = *x + 1;
++++                    return *x;
++++            };
++++
++++            return d;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3bfaef3e804e6f1785d8bd2cef7782d88cbf38a3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,41 @@@@@
++++using System;
++++
++++delegate void D ();
++++
++++class X {
++++
++++    static int Main ()
++++    {
++++            X x = new X();
++++            x.M (10);
++++            e ();
++++            Console.WriteLine ("J should be 11= {0}", j);
++++            e ();
++++                Console.WriteLine ("J should be 11= {0}", j);
++++            x.M (100);
++++            e ();
++++                Console.WriteLine ("J should be 101= {0}", j);
++++            if (j != 101)
++++                    return 3;
++++            Console.WriteLine ("OK");
++++            return 0;
++++    }
++++
++++    static int j;
++++    static D e;
++++    
++++    void M (int a)
++++    {
++++            Console.WriteLine ("A is=" + a);        
++++            D d = delegate {
++++                    int b;
++++                    b = 1;
++++                    e = delegate {
++++                                    Console.WriteLine ("IN NESTED DELEGATE: {0}", a);
++++                                    j = a + b;
++++                            };
++++                    };
++++            d ();
++++    }
++++    
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dcbd0f6c2db8d5a58f1d95bec09e533bd1b8d51d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++using System;
++++
++++class Delegable {
++++    public event EventHandler MyDelegate;
++++}
++++
++++class DelegateTest {
++++    static void Main (string[] argv)
++++    {
++++            Console.WriteLine ("Test");
++++
++++            Delegable db = new Delegable ();
++++            db.MyDelegate += delegate (object o, EventArgs args) {
++++                    Console.WriteLine ("{0}", argv);
++++                    Console.WriteLine ("{0}", db);
++++            };
++++    }
++++}
++++
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e912ad9a853b528bd1db1e5abf4d3e90099530cf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,39 @@@@@
++++using System;
++++using System.Collections;
++++
++++public class X
++++{
++++    string[] ABC = { "A", "B", "C" };
++++    string [,] EFGH = { { "E", "F" }, { "G", "H"}};
++++
++++    delegate string Foo ();
++++    delegate void Bar (string s);
++++
++++    public string Hello ()
++++    {
++++            Foo foo = delegate {
++++                    foreach (string s in ABC){
++++                            Bar bar = delegate (string t) {
++++                                    Console.WriteLine (t);
++++                            };
++++                            bar (s);
++++                    }
++++
++++                    foreach (string s in EFGH){
++++                            Bar bar = delegate (string t) {
++++                                    Console.WriteLine (t);
++++                            };
++++                            bar (s);
++++                    }
++++
++++                    return "Hello";
++++            };
++++            return foo ();
++++    }
++++
++++    public static void Main ()
++++    {
++++            X x = new X ();
++++            Console.WriteLine (x.Hello ());
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b4b21ecbdce5325d4fa326986a048268d721d415
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,108 @@@@@
++++using System;
++++using System.Reflection;
++++using System.ComponentModel;
++++
++++[assembly: CLSCompliant(true)]
++++[assembly: AssemblyTitle("")]
++++
++++public class CLSCLass_6 {
++++    private object disposedEvent = new object ();
++++    public EventHandlerList event_handlers;    
++++        
++++    public event Delegate Disposed {
++++        add { event_handlers.AddHandler (disposedEvent, value); }
++++    remove { event_handlers.RemoveHandler (disposedEvent, value); }
++++    }
++++}
++++
++++public delegate CLSDelegate Delegate ();
++++    
++++[Serializable]
++++public class CLSDelegate {
++++}
++++
++++internal class CLSClass_5 {
++++        [CLSCompliant (true)]
++++        public uint Test () {
++++                return 1;
++++        }
++++}
++++
++++[CLSCompliant (true)]
++++public class CLSClass_4 {
++++        [CLSCompliant (false)]
++++        public uint Test () {
++++                return 1;
++++        }
++++}
++++
++++public class CLSClass_3 {
++++        [CLSCompliant (false)]
++++        public uint Test_3 () {
++++                return 6;
++++        }
++++}
++++
++++[CLSCompliant(false)]
++++public class CLSClass_2 {
++++        public sbyte XX {
++++            get { return -1; }
++++        }
++++}
++++
++++class CLSClass_1 {
++++        public UInt32 Valid() {
++++                return 5;
++++        }
++++}
++++    
++++[CLSCompliant(true)]
++++public class CLSClass {
++++    
++++        private class C1 {
++++            
++++            [CLSCompliant(true)]
++++            public class C11 {
++++                protected ulong Foo3() {
++++                    return 1;
++++                }
++++            }
++++
++++            protected long Foo2() {
++++                return 1;
++++            }
++++        }
++++
++++    [CLSCompliant(false)]
++++    protected internal class CLSClass_2 {
++++            public sbyte XX {
++++                get { return -1; }
++++            }
++++    }
++++
++++        
++++    [CLSCompliant(true)]
++++        private ulong Valid() {
++++                return 1;
++++        }
++++        
++++        [CLSCompliant(true)]
++++        public byte XX {
++++            get { return 5; }
++++        }
++++
++++//        protected internal sbyte FooProtectedInternal() {
++++//                return -4;
++++//       }
++++        
++++        internal UInt32 FooInternal() {
++++                return 1;
++++        }        
++++    
++++        private ulong Foo() {
++++                return 1;
++++        }
++++
++++        
++++        public static void Main() {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a3bda41a2605ee346aca7e613ed15584b45ed53c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++using System;
++++
++++public class CLSClass {
++++    
++++        public byte XX {
++++            get { return 5; }
++++        }
++++
++++        public static void Main() {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3be78b28ec53205932c2036cf0d007751997990a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,36 @@@@@
++++using System;
++++using System.Reflection;
++++
++++[assembly: CLSCompliant (true)]
++++
++++public class CLSClass {
++++        [CLSCompliant(false)]
++++        public CLSClass(ulong l) {}
++++        internal CLSClass(uint i) {}
++++            
++++        [CLSCompliant(false)]
++++        public ulong X_0 {
++++            set {}
++++            }
++++            
++++        [CLSCompliant(false)]
++++        protected ulong this[ulong i] {
++++            set {}
++++        }
++++        
++++        [CLSCompliant(false)]
++++        public ulong X_1;
++++            
++++        internal ulong X_2;
++++
++++        public static void Main() {
++++    }
++++}
++++public class InnerTypeClasss {
++++    public struct Struct {
++++    }
++++    
++++    public Struct Method () {
++++        return new Struct ();
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..483b00dd88024b4e6d64ed9a6761a4d84ef57c4c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++using System;
++++[assembly:CLSCompliant(true)]
++++
++++public interface I1 {
++++}
++++
++++public class CLSClass {
++++        protected internal I1 Foo() {
++++                return null;
++++        }
++++       
++++        static void Main() {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ddd135d9547d5191542707e318d548764ef2adc4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,101 @@@@@
++++using System;
++++
++++[assembly:CLSCompliant(true)]
++++
++++class X1 {
++++        public bool AA;
++++        internal bool aa;
++++}
++++
++++class X2: X1 {
++++        public bool aA;
++++}
++++
++++public class X3 {
++++        internal void bb(bool arg) {}
++++        internal bool bB;
++++        public void BB() {}
++++}
++++
++++class X4 {
++++        public void method(int arg) {}
++++        public void method(bool arg) {}
++++        public bool method() { return false; }
++++}
++++
++++
++++public class BaseClass {
++++        //protected internal bool mEthod() { return false; }
++++}
++++
++++public class CLSClass: BaseClass {
++++        public CLSClass() {}
++++        public CLSClass(int arg) {}
++++            
++++        //public int this[int index] { set {} }
++++        //protected int this[bool index] { set {} }
++++       
++++        public bool setItem;
++++        static public implicit operator CLSClass(bool value) {
++++               return new CLSClass(2);
++++        }
++++
++++        static public implicit operator CLSClass(int value) {
++++               return new CLSClass(2);
++++        }
++++        
++++        [CLSCompliant(false)]
++++        public void Method() {}
++++            
++++        internal int Method(bool arg) { return 1; }
++++        internal void methoD() {}
++++            
++++        public static void Main() {}
++++}
++++
++++public class oBject: Object {
++++}
++++
++++namespace A {
++++    public class C1 {
++++    }
++++}
++++
++++namespace B {
++++    public class c1 {
++++    }
++++}
++++
++++public class c1 {
++++}
++++// Test
++++[System.CLSCompliant (false)]
++++public interface I1 {
++++}
++++
++++public interface i1 {
++++}
++++
++++// Test
++++enum AB {
++++}
++++
++++[CLSCompliant (false)]
++++public enum aB {
++++}
++++
++++public interface ab {
++++}
++++
++++// Test
++++public class CLSClass_2 {
++++        [CLSCompliant (false)]
++++        public void Method () {}
++++        public void method () {}
++++}
++++
++++// Test
++++namespace System {
++++    public class sByte {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c1ab9addaffb9c8729d8f104079e9e11527ccc2e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,58 @@@@@
++++using System;
++++
++++[assembly:CLSCompliant(true)]
++++
++++[CLSCompliant(false)]
++++public delegate uint MyDelegate();
++++
++++[CLSCompliant(false)]
++++public interface IFake {
++++        [CLSCompliant(true)]
++++        long AA(long arg);
++++        [CLSCompliant(false)]
++++        ulong BB { get; }
++++        //[CLSCompliant(false)]
++++        //sbyte this[ulong I] { set; }
++++        [CLSCompliant(false)]
++++        event MyDelegate MyEvent;
++++}
++++
++++[CLSCompliant(false)]
++++internal interface I {
++++        [CLSCompliant(false)]
++++        void Foo();
++++
++++        [CLSCompliant(true)]
++++        ulong this[int indexA] { set; }
++++}
++++
++++interface I2 {
++++        int Test(int arg1, bool arg2);
++++}
++++
++++public class CLSClass {
++++        [CLSCompliant(false)]
++++        public delegate uint MyDelegate();    
++++    
++++        public static void Main() {}
++++}
++++public class CLSClass_2 {
++++    [CLSCompliant (false)]
++++    public CLSClass_2(int[,,] b) {
++++    }
++++
++++    public CLSClass_2(int[,] b) {
++++    }
++++
++++    public void Test (int[,] b, int i) {}
++++    public void Test (int[,,] b, bool b2) {}
++++}
++++
++++public class X1 {
++++    [CLSCompliant (false)]
++++    public void M2 (int i) {}
++++}
++++
++++public class X2: X1 {
++++    public void M2 (ref int i) {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6084e41177574577597a7bc1e3539f6fe021d08c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++using System;
++++
++++[assembly:CLSCompliant(true)]
++++
++++namespace aa {
++++    public class I1 {
++++    }
++++}
++++
++++namespace bb {
++++    public interface i1 {
++++    }
++++}
++++
++++public class CLSClass {
++++        public static void Main() {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f919ec6341ada725ee9f67ad25b4a8db0b7e324d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++using System;
++++[assembly:CLSCompliant (true)]
++++
++++[CLSCompliant (false)]
++++public interface I {
++++        [CLSCompliant (false)]
++++        void Error (ulong arg);
++++}
++++
++++[CLSCompliant (false)]
++++public interface I2 {
++++        [CLSCompliant (true)]
++++        void Error (long arg);
++++}
++++
++++
++++public class MainClass {
++++        public static void Main () {
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e7e47e743e1d925c1e43e2a8831bb0aea8e68d02
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++using System;
++++[assembly:CLSCompliant (true)]
++++
++++[CLSCompliant (true)]
++++public abstract class CLSClass {
++++        [CLSCompliant (true)]
++++        public abstract void Test (IComparable arg);
++++}
++++
++++public abstract class CLSCLass_2 {
++++        public abstract void Test ();
++++}
++++
++++public class MainClass {
++++        public static void Main () {
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..af79b996bc2536a3fe342c96aca5fa377e1fc94d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,9 @@@@@
++++using System;
++++
++++[module: CLSCompliant(true)]
++++[assembly: CLSCompliant(true)]
++++
++++public class MainClass {
++++        public static void Main () {
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4d408c56a21bc206cd38a3bd2691326df8d9cecb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++using System;
++++
++++public class CLSClass {
++++        [CLSCompliant (false)]
++++        static public implicit operator CLSClass(byte value) {
++++               return new CLSClass();
++++        }
++++        
++++        [CLSCompliant (true)]
++++        private void Error (bool arg) {
++++        }
++++}
++++
++++public class MainClass {
++++        public static void Main () {
++++        }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7f93f9e4381b5b5de893537d6da21e24da744f13
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@
++++using System;
++++[assembly:CLSCompliant (true)]
++++
++++public class CLSAttribute_1: Attribute {
++++       public CLSAttribute_1(int[] array) {
++++       }
++++   
++++       public CLSAttribute_1(int array) {
++++       }
++++}
++++
++++[CLSCompliant (false)]
++++public class CLSAttribute_2: Attribute {
++++       private CLSAttribute_2(int arg) {
++++       }   
++++}
++++
++++internal class CLSAttribute_3: Attribute {
++++       public CLSAttribute_3(int[] array) {
++++       }
++++}
++++
++++[CLSCompliant (false)]
++++public class CLSAttribute_4: Attribute {
++++       private CLSAttribute_4(int[] args) {
++++       }   
++++}
++++
++++public class ClassMain {
++++        public static void Main () {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5929b442e4e0a681dbe78ea1da0157094c15242b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++using System;
++++[assembly:CLSCompliant (true)]
++++
++++[CLSCompliant (false)]
++++[CLSAttribute (new bool [] {true, false})]
++++public class CLSAttribute: Attribute {
++++       public CLSAttribute(bool[] array) {
++++       }
++++}
++++
++++public class ClassMain {
++++        public static void Main () {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..04a52b53fe507619bbcf6a8095c9836ea935e315
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,44 @@@@@
++++// Compiler options: -langversion:default
++++
++++using System;
++++using System.Collections;
++++
++++class X {
++++    static IEnumerator GetIt ()
++++    {
++++            yield return 1;
++++            yield return 2;
++++            yield return 3;
++++    }
++++    
++++    static IEnumerable GetIt2 ()
++++    {
++++            yield return 1;
++++            yield return 2;
++++            yield return 3;
++++    }
++++
++++    static int Main ()
++++    {
++++            IEnumerator e = GetIt ();
++++            int total = 0;
++++            
++++            while (e.MoveNext ()){
++++                    Console.WriteLine ("Value=" + e.Current);
++++                    total += (int) e.Current;
++++            }
++++
++++            if (total != 6)
++++                    return 1;
++++
++++            total = 0;
++++            foreach (int i in GetIt2 ()){
++++                    Console.WriteLine ("Value=" + i);
++++                    total += i;
++++            }
++++            if (total != 6)
++++                    return 2;
++++            
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b32c30b4e65565e87d39a7c959f180911515b450
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++// Compiler options: -langversion:default
++++
++++using System;
++++using System.Collections;
++++
++++class X {
++++    static int start, end;
++++    static int i;
++++
++++    static IEnumerator GetRange ()
++++    {
++++            yield return 1;
++++            for (i = start; i < end; i++)
++++                    yield return i;
++++            yield return 100;
++++    }
++++
++++    static int Main ()
++++    {
++++            start = 10;
++++            end = 30;
++++
++++            int total = 0;
++++            
++++            IEnumerator e = GetRange ();
++++            while (e.MoveNext ()){
++++                    Console.WriteLine ("Value=" + e.Current);
++++                    total += (int) e.Current;
++++            }
++++
++++            if (total != 491)
++++                    return 1;
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..342c03fa4bc5cf8c3e393adfeb6b4897214ae246
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@
++++// Compiler options: -langversion:default
++++
++++//
++++// Use
++++
++++using System;
++++using System.Collections;
++++
++++class X {
++++    static IEnumerable GetIt (int [] args)
++++    {
++++            foreach (int a in args)
++++                    yield return a;
++++    }
++++
++++    static IEnumerable GetMulti (int [,] args)
++++    {
++++            foreach (int a in args)
++++                    yield return a;
++++    }
++++    
++++    static int Main ()
++++    {
++++            int total = 0;
++++            foreach (int i in GetIt (new int [] { 1, 2, 3})){
++++                    Console.WriteLine ("Got: " + i);
++++                    total += i;
++++            }
++++
++++            if (total != 6)
++++                    return 1;
++++
++++            total = 0;
++++            foreach (int i in GetMulti (new int [,] { { 10, 20 }, { 30, 40}})){
++++                    Console.WriteLine ("Got: " + i);
++++                    total += i;
++++            }
++++            if (total != 100)
++++                    return 2;
++++            
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..002230470285ec7442cf0b10ac5389472438f00c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++// Compiler options: -langversion:default
++++
++++using System;
++++using System.Collections;
++++
++++class X {
++++    static IEnumerable GetRange (int start, int end)
++++    {
++++            for (int i = start; i < end; i++)
++++                    yield return i;
++++    }
++++
++++    static void Main ()
++++    {
++++            Console.WriteLine ("GetRange 10..20");
++++                               
++++            foreach (int i in GetRange (10, 20)){
++++                    Console.WriteLine ("i=" + i);
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d178419028c9c977043dc9887f894fc37d2bed62
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,85 @@@@@
++++// Compiler options: -langversion:default
++++
++++//
++++// Use
++++
++++using System;
++++using System.Collections;
++++
++++class X {
++++    static IEnumerable GetIt ()
++++    {
++++            List l = new List (3);
++++            l.Add (1);
++++            l.Add (2);
++++            l.Add (3);
++++            
++++            foreach (int i in l)
++++                    yield return i;
++++    }
++++    
++++    static int Main ()
++++    {
++++            int total = 0;
++++            foreach (int i in GetIt ()) {
++++                    Console.WriteLine ("Got: " + i);
++++                    total += i;
++++            }
++++            
++++            return total == 6 ? 0 : 1;
++++    }
++++}
++++
++++public class List : IEnumerable {
++++
++++    int pos = 0;
++++    int [] items;
++++    
++++    public List (int i) 
++++    {
++++            items = new int [i];
++++    }
++++    
++++    public void Add (int value) 
++++    {
++++            items [pos ++] = value;
++++    }
++++    
++++    public MyEnumerator GetEnumerator ()
++++    {
++++            return new MyEnumerator(this);
++++    }
++++    
++++    IEnumerator IEnumerable.GetEnumerator ()
++++    {
++++            return GetEnumerator ();
++++    }
++++    
++++    public struct MyEnumerator : IEnumerator {
++++            
++++            List l;
++++            int p;
++++            
++++            public MyEnumerator (List l) 
++++            {
++++                    this.l = l;
++++                    p = -1;
++++            }
++++            
++++            public object Current {
++++                    get {
++++                            return l.items [p];
++++                    }
++++            }
++++            
++++            public bool MoveNext() 
++++            {
++++                    return ++p < l.pos;
++++            }
++++
++++            public void Reset() 
++++            {
++++                    p = 0;
++++            }
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1abdcb8cdb80c7f2603fcd2dec9faf0af2308160
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,78 @@@@@
++++// Compiler options: -langversion:default
++++
++++using System;
++++using System.Collections;
++++
++++struct S {
++++    int j;
++++    
++++    public IEnumerable Get (int a)
++++    {
++++            Console.WriteLine ("Sending: " + a);
++++            yield return a;
++++            j = 10;
++++            Console.WriteLine ("Sending: " + j);
++++            yield return j;
++++    }
++++
++++    public static IEnumerable GetS (int a)
++++    {
++++            yield return 100;
++++            yield return a;
++++            yield return 1000;
++++    }
++++}
++++
++++class X {
++++    IEnumerable Get (int a)
++++    {
++++            yield return 1;
++++            yield return 2;
++++            yield return a;
++++    }
++++
++++    static IEnumerable GetS (int a)
++++    {
++++            yield return a;
++++            yield return a;
++++            yield return 1;
++++    }
++++    
++++    static int Main ()
++++    {
++++            X y = new X ();
++++
++++            int total = 0;
++++            foreach (int x in y.Get (5)){
++++                    total += x;
++++            }
++++            if (total != 8)
++++                    return 1;
++++
++++            total = 0;
++++            foreach (int x in GetS (3)){
++++                    total += x;
++++            }
++++            if (total != 7)
++++                    return 2;
++++
++++            S s = new S();
++++            total = 0;
++++            foreach (int x in s.Get (100)){
++++                    Console.WriteLine ("Got: " + x);
++++                    total += x;
++++            }
++++            if (total != 110)
++++                    return 3;
++++
++++            total = 0;
++++            foreach (int x in S.GetS (1)){
++++                    total += x;
++++            }
++++            if (total != 1101)
++++                    return 4;
++++            
++++            Console.WriteLine ("OK");
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..051f00f4e7191a1bc93ee576b752ec0748495b73
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,85 @@@@@
++++// Compiler options: -langversion:default
++++
++++using System;
++++using System.Collections;
++++
++++public class Test
++++{
++++    public IEnumerable Foo (int a)
++++    {
++++            try {
++++                    try {
++++                            yield return a;
++++                    } finally {
++++                            Console.WriteLine ("Hello World");
++++                    }
++++
++++                    Console.WriteLine ("Next block");
++++
++++                    try {
++++                            yield return a * a;
++++                    } finally {
++++                            Console.WriteLine ("Boston");
++++                    }
++++            } finally {
++++                    Console.WriteLine ("Outer finally");
++++            }
++++
++++            Console.WriteLine ("Outer block");
++++            yield break;
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            Test test = new Test ();
++++
++++            ArrayList list = new ArrayList ();
++++            foreach (object o in test.Foo (5))
++++                    list.Add (o);
++++
++++            if (list.Count != 2)
++++                    return 1;
++++            if ((int) list [0] != 5)
++++                    return 2;
++++            if ((int) list [1] != 25)
++++                    return 3;
++++
++++            IEnumerable a = test.Foo (5);
++++
++++            IEnumerator b = a as IEnumerator;
++++            if (b != null) {
++++                    if (b.MoveNext ())
++++                            return 4;
++++            }
++++
++++            IEnumerator c = a.GetEnumerator ();
++++            if (!c.MoveNext ())
++++                    return 5;
++++            if ((int) c.Current != 5)
++++                    return 6;
++++            if (!c.MoveNext ())
++++                    return 7;
++++            if ((int) c.Current != 25)
++++                    return 8;
++++
++++            IEnumerator d = a.GetEnumerator ();
++++
++++            if ((int) c.Current != 25)
++++                    return 9;
++++            if (!d.MoveNext ())
++++                    return 10;
++++            if ((int) c.Current != 25)
++++                    return 11;
++++            if ((int) d.Current != 5)
++++                    return 12;
++++
++++            if (c.MoveNext ())
++++                    return 13;
++++
++++            ((IDisposable) a).Dispose ();
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3b7b4b9e517fe168fc275fa5d8c90de0be26fd4f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,60 @@@@@
++++// Compiler options: -langversion:default
++++
++++using System;
++++using System.Collections;
++++
++++public class Foo : IDisposable
++++{
++++    public readonly int Data;
++++
++++    public Foo (int data)
++++    {
++++            this.Data = data;
++++    }
++++
++++    public bool disposed;
++++
++++    public void Dispose ()
++++    {
++++            disposed = true;
++++    }
++++}
++++
++++class X
++++{
++++    public static IEnumerable Test (int a, int b)
++++    {
++++            Foo foo3, foo4;
++++
++++            using (Foo foo1 = new Foo (a), foo2 = new Foo (b)) {
++++                    yield return foo1.Data;
++++                    yield return foo2.Data;
++++
++++                    foo3 = foo1;
++++                    foo4 = foo2;
++++            }
++++
++++            yield return foo3.disposed;
++++            yield return foo4.disposed;
++++    }
++++
++++    static int Main ()
++++    {
++++            ArrayList list = new ArrayList ();
++++            foreach (object data in Test (3, 5))
++++                    list.Add (data);
++++
++++            if (list.Count != 4)
++++                    return 1;
++++            if ((int) list [0] != 3)
++++                    return 2;
++++            if ((int) list [1] != 5)
++++                    return 3;
++++            if (!(bool) list [2])
++++                    return 4;
++++            if (!(bool) list [3])
++++                    return 5;
++++
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..32312cb4ede1a82a91fc54503280a9a80c7544b7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,69 @@@@@
++++using System;
++++using System.Collections;
++++
++++public class Tester
++++{
++++    string[] ABC = { "A", "B", "C" };
++++    // D
++++    string [,] EFGH = { { "E", "F" }, { "G", "H"}};
++++    // I
++++    ArrayList al = new ArrayList ();
++++    
++++    public Tester ()
++++    {
++++            al.Add ("J");
++++            al.Add ("K");
++++    }
++++    
++++    public System.Collections.IEnumerator GetEnumerator()
++++    {
++++            foreach (string s in ABC){
++++                    if (s == null)
++++                            throw new Exception ();
++++                    else
++++                            yield return s;
++++            }
++++            
++++            yield return "D";
++++            foreach (string s in EFGH){
++++                    if(s == null)
++++                            throw new Exception ();
++++                    else
++++                            yield return s;
++++            }
++++            
++++            yield return "I";
++++            foreach (string s in al){
++++                    if (s == null)
++++                            throw new Exception ();
++++                    else
++++                            yield return s;
++++            }
++++            
++++            yield return "L";
++++    }
++++}
++++
++++
++++class Test
++++{
++++    public static int Main()
++++    {
++++            Tester tester = new Tester();
++++            string [] list = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L" };
++++            int top = 0;
++++                    
++++            foreach (string s in tester){
++++                    if (s != list [top]){
++++                            Console.WriteLine ("Failure, got {0} expected {1}", s, list [top]);
++++                            return 1;
++++                    }
++++                    top++;
++++            }
++++            if (top != list.Length){
++++                    Console.WriteLine ("Failure, expected {0} got {1}", list.Length, top);
++++            }
++++            Console.WriteLine ("Success");
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..66bb94728c4cc13f39e08e94f65a022501345a17
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,55 @@@@@
++++// Compiler options: -langversion:default
++++
++++namespace Foo
++++{
++++    public class Hello
++++    {
++++            public static int World = 8;
++++    }
++++}
++++
++++namespace Bar
++++{
++++    public class Hello
++++    {
++++            public static int World = 9;
++++    }
++++}
++++
++++namespace X
++++{
++++    using Foo;
++++
++++    public partial class Test
++++    {
++++            public static int FooWorld ()
++++            {
++++                    return Hello.World;
++++            }
++++    }
++++}
++++
++++namespace X
++++{
++++    using Bar;
++++
++++    public partial class Test
++++    {
++++            public static int BarWorld ()
++++            {
++++                    return Hello.World;
++++            }
++++    }
++++}
++++
++++class Y
++++{
++++    static int Main ()
++++    {
++++            if (X.Test.FooWorld () != 8)
++++                    return 1;
++++            if (X.Test.BarWorld () != 9)
++++                    return 2;
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a588eeeb107f99d65e651f9321d45d8d71194580
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@
++++// Compiler options: -langversion:default
++++
++++namespace Test1
++++{
++++    public class Base
++++    { }
++++
++++    public partial class Foo : Base
++++    { }
++++
++++    public partial class Foo : Base
++++    { }
++++}
++++
++++namespace Test2
++++{
++++    public interface Base
++++    { }
++++
++++    public partial class Foo : Base
++++    { }
++++
++++    public partial class Foo : Base
++++    { }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fa4eb1be1f18fa546e68540d6778b70c1a85bccc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,55 @@@@@
++++// Compiler options: -langversion:default
++++
++++public partial class Test
++++{
++++    public readonly Foo TheFoo;
++++
++++    public Test ()
++++    {
++++            this.TheFoo = new Foo ();
++++    }
++++
++++    public partial interface IFoo
++++    {
++++            int Hello (Test foo);
++++    }
++++
++++    public int TestFoo ()
++++    {
++++            return TheFoo.Hello (this);
++++    }
++++}
++++
++++public partial class Test
++++{
++++    public partial class Foo : IFoo
++++    {
++++            int IFoo.Hello (Test test)
++++            {
++++                    return 2;
++++            }
++++
++++            public int Hello (Test test)
++++            {
++++                    return 1;
++++            }
++++    }
++++
++++    public int TestIFoo (IFoo foo)
++++    {
++++            return foo.Hello (this);
++++    }
++++}
++++
++++class X
++++{
++++    static int Main ()
++++    {
++++            Test test = new Test ();
++++            if (test.TestFoo () != 1)
++++                    return 1;
++++            if (test.TestIFoo (test.TheFoo) != 2)
++++                    return 2;
++++            return 0;
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3158d8e5cc56754bf534ae16e5ac364a78e861f1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,32 @@@@@
++++// Compiler options: -langversion:default
++++
++++namespace A
++++{
++++    interface IFoo
++++    {
++++            void Hello (IFoo foo);
++++    }
++++}
++++
++++namespace B
++++{
++++    partial class Test
++++    { }
++++}
++++
++++namespace B
++++{
++++    using A;
++++
++++    partial class Test : IFoo
++++    {
++++            void IFoo.Hello (IFoo foo)
++++            { }
++++    }
++++}
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9d7ee2dcd0de70b5c2c3bab5507087cb9265ff98
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@
++++// Compiler options: -langversion:default
++++
++++class B {
++++}
++++
++++interface iface {
++++}
++++
++++partial class A : B {
++++}
++++
++++partial class A : iface {
++++}
++++
++++class D { static void Main () {} }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a8d184160b55d89ba0858f785b162287f4e7432b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -langversion:default
++++
++++partial class Foo
++++{
++++    ~Foo ()
++++    { }
++++}
++++
++++partial class Foo
++++{ }
++++
++++class B { static void Main () {} }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..afb741f4fbfffa3beace0946062afe46744c5a45
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,12 @@@@@
++++using System;
++++using System.Runtime.InteropServices;
++++
++++[Obsolete]
++++public partial class Test
++++{ }
++++
++++class X
++++{
++++    static void Main ()
++++    { }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5d26dce8aabb4f327702255af8c21c658c7b2c8c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-001</name>\r
++++    </assembly>\r
++++    <members>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bc1d8595538f233679dfb04e07997d5f182824aa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++// Compiler options: -doc:xml-001.xml
++++using System;
++++
++++/// <summary>
++++/// xml comment on namespace ... is not allowed.
++++/// </summary>
++++namespace Testing
++++{
++++    public class A
++++    {               
++++            public static void Main ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa24c155aea88eb27f449be091fee4d56bffaa84
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-002</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.Test">\r
++++            <summary>
++++            comment on class
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.Test2" -->\r
++++        <member name="T:Testing.Test3">\r
++++                            <summary>
++++                            another Java-style documentation style
++++                            </summary>
++++        </member>\r
++++        <member name="T:Testing.Test4">\r
++++            indentation level test <seealso
++++            cref="T:Testing.Test" />.
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f18e3248d1ec7bddcec48d20020caaedb57a00f1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,39 @@@@@
++++// Compiler options: -doc:xml-002.xml
++++using System;
++++
++++namespace Testing
++++{
++++    /// <summary>
++++    /// comment on class
++++    /// </summary>
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++    }
++++
++++    /// <summary>
++++    /// Incorrect comment markup. See <see cref="T:Testing.Test" /> too.
++++    /// </incorrect>
++++    public class Test2
++++    {
++++    }
++++
++++    /**
++++            <summary>
++++            another Java-style documentation style
++++            </summary>
++++    */
++++    public class Test3
++++    {
++++    }
++++
++++            /// indentation level test <seealso
++++            ///     cref="T:Testing.Test" />.
++++public class Test4
++++{
++++}
++++
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f3d6a0a96f50efe55196e8e728c2c08e1832edcf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-003</name>\r
++++    </assembly>\r
++++    <members>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..68404389f1990e6f762c6342b0f4b90af0c98671
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++// Compiler options: -doc:xml-003.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++                    /// here is an extraneous comment
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..941fadbdd601c83de0c0bcc8e9c41cb57bd778f7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-004</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.StructTest">\r
++++            <summary> 
++++            comment for struct
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.StructTest2" -->\r
++++        <member name="T:Testing.StructTest3">\r
++++                            <summary>
++++                            Java style commet
++++                            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7fca0849e894182ca033f3ecf00f6a9574e78e07
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,36 @@@@@
++++// Compiler options: -doc:xml-004.xml
++++using System;
++++
++++namespace Testing
++++{
++++    /// <summary> 
++++    /// comment for struct
++++    /// </summary>
++++    public struct StructTest
++++    {
++++    }
++++
++++    /// <summary> 
++++    /// incorrect markup comment for struct
++++    /// </incorrect>
++++    public struct StructTest2
++++    {
++++    }
++++
++++    /**
++++            <summary>
++++            Java style commet
++++            </summary>
++++    */
++++    public struct StructTest3
++++    {
++++    }
++++
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..41ce94f6ebd2b3485bd1c04a03a097800d90cc4d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-005</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.InterfaceTest">\r
++++            <summary>
++++            comment for interface
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.InterfaceTest2" -->\r
++++        <member name="T:Testing.InterfaceTest3">\r
++++                            <summary>
++++                            Java style comment for interface
++++                            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7d331365b69f447157361ae5aa1c9245b07accc8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,36 @@@@@
++++// Compiler options: -doc:xml-005.xml
++++using System;
++++
++++namespace Testing
++++{
++++    /// <summary>
++++    /// comment for interface
++++    /// </summary>
++++    public interface InterfaceTest
++++    {
++++    }
++++
++++    /// <summary>
++++    /// incorrect markup comment for interface
++++    /// </incorrect>
++++    public interface InterfaceTest2
++++    {
++++    }
++++
++++    /**
++++            <summary>
++++            Java style comment for interface
++++            </summary>
++++    */
++++    public interface InterfaceTest3
++++    {
++++    }
++++
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bb5fcd5494df8f3ee197bb809ce8f427bd9637fb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-006</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.EnumTest">\r
++++            <summary>
++++            comment for enum type
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.EnumTest2" -->\r
++++        <member name="T:Testing.EnumTest3">\r
++++                    <summary>
++++                    Java style comment for enum type
++++                    </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..217a982111a8997bf262a3dff503dacf3ada7a52
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,42 @@@@@
++++// Compiler options: -doc:xml-006.xml
++++using System;
++++
++++namespace Testing
++++{
++++    /// <summary>
++++    /// comment for enum type
++++    /// </summary>
++++    public enum EnumTest
++++    {
++++            Foo,
++++            Bar,
++++    }
++++
++++    /// <summary>
++++    /// comment for enum type
++++    /// </incorrect>
++++    public enum EnumTest2
++++    {
++++            Foo,
++++            Bar,
++++    }
++++
++++    /**
++++    <summary>
++++    Java style comment for enum type
++++    </summary>
++++    */
++++    public enum EnumTest3
++++    {
++++            Foo,
++++            Bar,
++++    }
++++
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f7655c52105932e88bdf37e3b2922a7d51448137
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-007</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.MyDelegate">\r
++++            <summary>
++++            comment for delegate type
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.MyDelegate2" -->\r
++++        <member name="T:Testing.MyDelegate3">\r
++++                    <summary>
++++                    Javadoc comment for delegate type
++++                    </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..17758d3fc7a4e7b56e0952551972de9e5e6b862b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++// Compiler options: -doc:xml-007.xml
++++using System;
++++
++++namespace Testing
++++{
++++    /// <summary>
++++    /// comment for delegate type
++++    /// </summary>
++++    public delegate void MyDelegate (object o, EventArgs e);
++++
++++    /// <summary>
++++    /// comment for delegate type
++++    /// </incorrect>
++++    public delegate void MyDelegate2 (object o, EventArgs e);
++++
++++    /**
++++    <summary>
++++    Javadoc comment for delegate type
++++    </summary>
++++    */
++++    public delegate void MyDelegate3 (object o, EventArgs e);
++++
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..681689e43b0588144fcfe7f12c50d82a03461b99
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-008</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.Test">\r
++++            comment without markup on class - it is allowed
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.Test2" -->\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.Test3" -->\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a44e4c6ea5c1b568b1ce0acf0ee01073d0fbcc70
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++// Compiler options: -doc:xml-008.xml
++++using System;
++++
++++namespace Testing
++++{
++++    /// comment without markup on class - it is allowed
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++    }
++++
++++    /// <6roken> broken markup
++++    public class Test2
++++    {
++++    }
++++
++++    /// <dont-forget-close-tag>
++++    public class Test3
++++    {
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2727fae2a7a6ce0556f7c6be1ecc43600253a315
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-009</name>\r
++++    </assembly>\r
++++    <members>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9f4ac8c51b4e936a4213d046ac618ed162f76165
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++// Compiler options: -doc:xml-009.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++                    /// inside method - not allowed.
++++            }
++++    }
++++
++++    public class Test2
++++    {
++++            /// no target
++++    }
++++
++++    public class Test3
++++    {
++++    }
++++    /// no target case 2.
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7d9415eb2ffee5947457aa66d47cb67bc848d8d7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-010</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="F:Testing.Test.Constant">\r
++++            <summary>
++++            comment for const declaration
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "F:Testing.Test.Constant2" -->\r
++++        <member name="F:Testing.Test.Constant3">\r
++++                            <summary>
++++                            Javaism comment for const declaration
++++                            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c2f19a0f6b5a04f674ed530785f02f22a99a9c29
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++// Compiler options: -doc:xml-010.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            /// <summary>
++++            /// comment for const declaration
++++            /// </summary>
++++            const string Constant = "CONSTANT STRING";
++++
++++            /// <summary>
++++            /// invalid comment for const declaration
++++            /// </invalid>
++++            const string Constant2 = "CONSTANT STRING";
++++
++++            /**
++++            <summary>
++++            Javaism comment for const declaration
++++            </summary>
++++            */
++++            const string Constant3 = "CONSTANT STRING";
++++
++++            public static void Main ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..06ffc90eda10aec9d3046ab34b70719577eb3be2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-011</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="F:Testing.Test.PublicField">\r
++++            <summary>
++++            comment for public field
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "F:Testing.Test.PublicField2" -->\r
++++        <member name="F:Testing.Test.PublicField3">\r
++++                             <summary>
++++                             Javadoc comment for public field
++++                             </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..774c411def6b64b64e26e48197483aad8d64861e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++// Compiler options: -doc:xml-011.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            /// <summary>
++++            /// comment for public field
++++            /// </summary>
++++            public string PublicField;
++++
++++            /// <summary>
++++            /// comment for public field
++++            /// </invalid>
++++            public string PublicField2;
++++
++++            /**
++++             <summary>
++++             Javadoc comment for public field
++++             </summary>
++++            */
++++            public string PublicField3;
++++
++++            public static void Main ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e8f69f5a6b476ccd31a766a08277323d01c2855a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-012</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="F:Testing.Test.PrivateField">\r
++++            <summary>
++++            comment for private field
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "F:Testing.Test.PrivateField2" -->\r
++++        <member name="F:Testing.Test.PrivateField3">\r
++++                            <summary>
++++                            Javadoc comment for private field
++++                            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..63ca584e5649461093ffd4761a313f6347bbeb35
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++// Compiler options: -doc:xml-012.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// <summary>
++++            /// comment for private field
++++            /// </summary>
++++            private string PrivateField;
++++
++++            /// <summary>
++++            /// incorrect markup comment for private field
++++            /// </incorrect>
++++            private string PrivateField2;
++++
++++            /**
++++            <summary>
++++            Javadoc comment for private field
++++            </summary>
++++            */
++++            private string PrivateField3;
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b60e161621d947e17d5e0ed829740ab5611dfb49
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-013</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="P:Testing.Test.PublicProperty">\r
++++            <summary>
++++            comment for public property
++++            </summary>
++++        </member>\r
++++        <!-- Badly formed XML comment ignored for member "P:Testing.Test.PublicProperty2" -->\r
++++        <member name="P:Testing.Test.PublicProperty3">\r
++++                            <summary>
++++                            Javadoc comment for public property
++++                            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b7f7ec33a266daedbb6200174325a870930ff4f0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,54 @@@@@
++++// Compiler options: -doc:xml-013.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// <summary>
++++            /// comment for public property
++++            /// </summary>
++++            public string PublicProperty {
++++                    /// <summary>
++++                    /// On public getter - no effect
++++                    /// </summary>
++++                    get { return null; }
++++                    /// <summary>
++++                    /// On public setter - no effect
++++                    /// </summary>
++++                    set { }
++++            }
++++
++++            /// <summary>
++++            /// incorrect comment for public property
++++            /// </incorrect>
++++            public string PublicProperty2 {
++++                    get { return null; }
++++            }
++++
++++            /**
++++            <summary>
++++            Javadoc comment for public property
++++            </summary>
++++            */
++++            public string PublicProperty3 {
++++                    /**
++++                    <summary>
++++                    On public getter - no effect
++++                    </summary>
++++                    */
++++                    get { return null; }
++++                    /**
++++                    <summary>
++++                    On public setter - no effect
++++                    </summary>
++++                    */
++++                    set { }
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6b79319e51c6ded17976bc3789342de61829a02c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-014</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="P:Testing.Test.PrivateProperty">\r
++++            <summary>
++++            comment for private property
++++            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6ef31eab04b68b536e9c8b43f46ba36d7a931991
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++// Compiler options: -doc:xml-014.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// <summary>
++++            /// comment for private property
++++            /// </summary>
++++            private string PrivateProperty {
++++                    get { return null; }
++++                    set { }
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8c14a1b96ccc8d20d3eb1970af69a7f550413eb5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-015</name>\r
++++    </assembly>\r
++++    <members>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9374b765bcf6fe7265386ba4ed51366d8cc2f8be
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++// Compiler options: -doc:xml-015.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            private string PrivateProperty {
++++                    get { return null; }
++++                    /// <summary>
++++                    /// comment for private property setter - no effect
++++                    /// </summary>
++++                    set { }
++++            }
++++
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b1b25164e8bf1a2fad86e2ef45f20a51e4c054f9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-016</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="E:Testing.Test.MyEvent">\r
++++            <summary>
++++            public event EventHandler MyEvent
++++            </summary>
++++        </member>\r
++++        <member name="E:Testing.Test.MyEvent2">\r
++++            private event EventHandler MyEvent; without markup - it is OK.
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..13fbe510256efbbb94bfb5ee3aff607122ff7991
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++// Compiler options: -doc:xml-016.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// <summary>
++++            /// public event EventHandler MyEvent
++++            /// </summary>
++++            public event EventHandler MyEvent;
++++
++++            /// private event EventHandler MyEvent; without markup - it is OK.
++++            private event EventHandler MyEvent2;
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..810bdf9a7bc15301f27762e3d20ea19cb9e9e218
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-017</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="M:Testing.Test.Foo">\r
++++            comment on method without parameter
++++        </member>\r
++++        <member name="M:Testing.Test.Foo(System.Int64,Testing.Test,System.Collections.ArrayList)">\r
++++            here is a documentation with parameters (and has same name)
++++        </member>\r
++++        <member name="M:Testing.Test.Foo(System.String[])">\r
++++            here is a documentation with parameters (and has same name)
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d53d46fae62cb3eb1f60e57d3102f1cc517de924
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@
++++// Compiler options: -doc:xml-017.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// comment on method without parameter
++++            public static void Foo ()
++++            {
++++            }
++++
++++            /// here is a documentation with parameters (and has same name)
++++            public static void Foo (long l, Test t, System.Collections.ArrayList al)
++++            {
++++            }
++++
++++            /// here is a documentation with parameters (and has same name)
++++            public static void Foo (params string [] param)
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4bee0e0dc6c47b990e96ca1af223455b73dcdca3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-018</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="P:Testing.Test.Item(System.Int32)">\r
++++            <summary>
++++            comment for indexer
++++            </summary>
++++        </member>\r
++++        <member name="P:Testing.Test.Item(System.String)">\r
++++            <summary>
++++            comment for indexer
++++            </summary>
++++        </member>\r
++++        <member name="P:Testing.Test.Item(System.Int32,Testing.Test)">\r
++++            <summary>
++++            comment for indexer wit multiple parameters
++++            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..194f44f331ba130f3014b7fdaf046b74e52862bc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++// Compiler options: -doc:xml-018.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// <summary>
++++            /// comment for indexer
++++            /// </summary>
++++            public string this [int i] {
++++                    get { return null; }
++++            }
++++
++++            /// <summary>
++++            /// comment for indexer
++++            /// </summary>
++++            public string this [string s] {
++++                    get { return null; }
++++            }
++++
++++            /// <summary>
++++            /// comment for indexer wit multiple parameters
++++            /// </summary>
++++            public string this [int i, Test t] {
++++                    get { return null; }
++++            }
++++
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..22ff604e8ce5685c84630c58fd9a4c44ad81da52
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-019</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="M:Testing.Test.op_LogicalNot(Testing.Test)">\r
++++            <summary>
++++            comment for unary operator
++++            </summary>
++++        </member>\r
++++        <member name="M:Testing.Test.op_Addition(Testing.Test,System.Int32)">\r
++++            <summary>
++++            comment for binary operator
++++            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..81a563cd77d8afa5c3febecce15b2a00b458a1e5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++// Compiler options: -doc:xml-019.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// <summary>
++++            /// comment for unary operator
++++            /// </summary>
++++            public static bool operator ! (Test t)
++++            {
++++                    return false;
++++            }
++++
++++            /// <summary>
++++            /// comment for binary operator
++++            /// </summary>
++++            public static int operator + (Test t, int b)
++++            {
++++                    return b;
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cff42dfb04d715c9e6da51cd3a44a720d9572bc0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-020</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="M:Testing.Test.#ctor">\r
++++            comment for constructor
++++        </member>\r
++++        <member name="M:Testing.Test.Finalize">\r
++++            comment for destructor
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..da30bdf53f7b0e2e57ef6e36b45c6a64e3383d87
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++// Compiler options: -doc:xml-020.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// comment for constructor
++++            public Test ()
++++            {
++++            }
++++
++++            /// comment for destructor
++++            ~Test ()
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a1842c9490c1e27906f8bc30384eb3602668981d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-021</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.Test.InternalClass">\r
++++            comment for internal class
++++        </member>\r
++++        <member name="T:Testing.Test.InternalStruct">\r
++++            comment for internal struct
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..542e2784bcdab71e9aae497e4937e6656c32d36d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++// Compiler options: -doc:xml-021.xml
++++using System;
++++
++++namespace Testing
++++{
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// comment for internal class
++++            public class InternalClass
++++            {
++++            }
++++
++++            /// comment for internal struct
++++            public struct InternalStruct
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fd91c2f055d2d0d6b2e4429558563d1ac55c1a6b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,102 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-022</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <!-- Badly formed XML comment ignored for member "T:Testing.Test2" -->\r
++++        <member name="M:Testing.Test2.Foo">\r
++++                                    another documentation style (Java-mimic)
++++        </member>\r
++++        <member name="T:Testing.StructTest">\r
++++            testing indentation <summary> test test ;-)
++++            comment for struct
++++            </summary>
++++        </member>\r
++++        <member name="T:Testing.InterfaceTest">\r
++++            <summary>
++++            comment for interface
++++            </summary>
++++        </member>\r
++++        <member name="T:Testing.EnumTest">\r
++++            <summary>
++++            comment for enum type
++++            </summary>
++++        </member>\r
++++        <member name="F:Testing.EnumTest.Foo">\r
++++            <summary>
++++            comment for enum field
++++            </summary>
++++        </member>\r
++++        <member name="T:Testing.Dummy">\r
++++            <summary>
++++            comment for dummy type
++++            </summary>
++++        </member>\r
++++        <member name="T:Testing.MyDelegate">\r
++++            <summary>
++++            comment for delegate type
++++            </summary>
++++        </member>\r
++++        <member name="T:Testing.Test">\r
++++            <summary>
++++            description for class Test
++++            </summary>
++++        </member>\r
++++        <member name="F:Testing.Test.Constant">\r
++++            comment for const declaration
++++        </member>\r
++++        <member name="F:Testing.Test.BadPublicField">\r
++++            comment for public field
++++        </member>\r
++++        <member name="F:Testing.Test.PrivateField">\r
++++            comment for private field
++++        </member>\r
++++        <member name="M:Testing.Test.Foo">\r
++++            here is a documentation!!!
++++        </member>\r
++++        <member name="M:Testing.Test.Foo(System.Int64,Testing.Test,System.Collections.ArrayList)">\r
++++            here is a documentation with parameters
++++        </member>\r
++++        <member name="M:Testing.Test.op_LogicalNot(Testing.Test)">\r
++++            <summary>
++++            comment for unary operator
++++            </summary>
++++        </member>\r
++++        <member name="M:Testing.Test.op_Addition(Testing.Test,System.Int32)">\r
++++            <summary>
++++            comment for binary operator
++++            </summary>
++++        </member>\r
++++        <member name="M:Testing.Test.Finalize">\r
++++            comment for destructor
++++        </member>\r
++++        <member name="M:Testing.Test.#ctor">\r
++++            comment for .ctor()
++++        </member>\r
++++        <member name="M:Testing.Test.#ctor(System.String,System.String[])">\r
++++            comment for .ctor(string arg, string [] args)
++++        </member>\r
++++        <member name="P:Testing.Test.PublicProperty">\r
++++            comment for public property
++++        </member>\r
++++        <member name="P:Testing.Test.PrivateProperty">\r
++++            comment for private property
++++        </member>\r
++++        <member name="E:Testing.Test.MyEvent">\r
++++            public event EventHandler MyEvent ;-)
++++        </member>\r
++++        <member name="P:Testing.Test.Item(System.Int32)">\r
++++            comment for indexer
++++        </member>\r
++++        <member name="P:Testing.Test.Item(System.Int32,Testing.Test)">\r
++++            comment for indexer wit multiple parameters
++++        </member>\r
++++        <member name="T:Testing.Test.InternalClass">\r
++++            comment for internal class
++++        </member>\r
++++        <member name="T:Testing.Test.InternalStruct">\r
++++            comment for internal struct
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b7eb5aacd4bd422c1362879b3951e41b0bd99265
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,161 @@@@@
++++// Compiler options: -doc:xml-022.xml
++++//
++++// Combined tests (for detecting incorrect markup targeting).
++++//
++++using System;
++++
++++/// <summary>
++++/// xml comment is not allowed here.
++++/// </summary>
++++namespace Testing
++++{
++++    /// <summary>
++++    /// </incorrect>
++++    public class Test2
++++    {
++++            /**
++++                    another documentation style (Java-mimic)
++++            */
++++            public static void Foo ()
++++            {
++++                    /// here is an extraneous comment
++++            }
++++
++++            public static void Main ()
++++            {
++++            }
++++    }
++++
++++    /// testing indentation <summary> test test ;-)
++++    /// comment for struct
++++    /// </summary>
++++    public struct StructTest
++++    {
++++    }
++++
++++    /// <summary>
++++    /// comment for interface
++++    /// </summary>
++++    public interface InterfaceTest
++++    {
++++    }
++++
++++    /// <summary>
++++    /// comment for enum type
++++    /// </summary>
++++    public enum EnumTest
++++    {
++++            /// <summary>
++++            /// comment for enum field
++++            /// </summary>
++++            Foo,
++++            Bar,
++++    }
++++
++++    /// <summary>
++++    /// comment for dummy type
++++    /// </summary>
++++    public class Dummy {}
++++
++++    /// <summary>
++++    /// comment for delegate type
++++    /// </summary>
++++    public delegate void MyDelegate (object o, EventArgs e);
++++
++++    /// <summary>
++++    /// description for class Test
++++    /// </summary>
++++    public class Test
++++    {
++++            /// comment for const declaration
++++            const string Constant = "CONSTANT STRING";
++++
++++            /// comment for public field
++++            public string BadPublicField;
++++
++++            /// comment for private field
++++            private string PrivateField;
++++
++++            /// comment for public property
++++            public string PublicProperty {
++++                    /// comment for private property getter
++++                    get { return null; }
++++            }
++++
++++            /// comment for private property
++++            private string PrivateProperty {
++++                    get { return null; }
++++                    /// comment for private property setter
++++                    set { }
++++            }
++++
++++            int x;
++++
++++            /// public event EventHandler MyEvent ;-)
++++            public event EventHandler MyEvent;
++++
++++            int y;
++++
++++            /// here is a documentation!!!
++++            public static void Foo ()
++++            {
++++            }
++++
++++            /// here is a documentation with parameters
++++            public static void Foo (long l, Test t, System.Collections.ArrayList al)
++++            {
++++            }
++++
++++            /// comment for indexer
++++            public string this [int i] {
++++                    get { return null; }
++++            }
++++
++++            /// comment for indexer wit multiple parameters
++++            public string this [int i, Test t] {
++++                    get { return null; }
++++            }
++++
++++            /// <summary>
++++            /// comment for unary operator
++++            /// </summary>
++++            public static bool operator ! (Test t)
++++            {
++++                    return false;
++++            }
++++
++++            /// <summary>
++++            /// comment for binary operator
++++            /// </summary>
++++            public static int operator + (Test t, int b)
++++            {
++++                    return b;
++++            }
++++
++++            /// comment for destructor
++++            ~Test ()
++++            {
++++            }
++++
++++            /// comment for .ctor()
++++            public Test ()
++++            {
++++            }
++++
++++            /// comment for .ctor(string arg, string [] args)
++++            public Test (string arg, string [] args)
++++            {
++++            }
++++
++++            /// comment for internal class
++++            public class InternalClass
++++            {
++++            }
++++
++++            /// comment for internal struct
++++            public struct InternalStruct
++++            {
++++            }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5f25cedb410e1957bae6d9f45d1c87d13016e41a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-023</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="M:Test.Foo(Test.A,System.Int32)">\r
++++            here is a documentation
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..974877906cae4590845f14fcfd6196629b2c126a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@
++++// Compiler options: -doc:xml-023.xml
++++   public class Test
++++   {
++++       public class A {}
++++
++++       public static void Main ()
++++       {
++++       }
++++
++++       /// here is a documentation
++++       public static void Foo (A a, int x)
++++       {
++++       }
++++   }
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..797eeb353e90f4c6550658444eed4898cc039798
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-024</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.Test">\r
++++            <!-- Include tag is invalid --><include/>\r
++++        </member>\r
++++        <member name="M:Testing.Test.Main">\r
++++            <!-- Include tag is invalid --><include file="a"/>\r
++++        </member>\r
++++        <member name="M:Testing.Test.Bar(System.Int32)">\r
++++            <!-- Include tag is invalid --><include path="/foo/bar"/>\r
++++        </member>\r
++++        <member name="M:Testing.Test.Baz(System.Int32)">\r
++++            <!-- Badly formed XML file "c:\cygwin\home\_\cvs\mcs\tests\there-is-no-such-file" cannot be included -->\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f1e870b22c5da933f1534b0b7d55bab432d1eb91
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,27 @@@@@
++++// Compiler options: -doc:xml-024.xml
++++
++++namespace Testing
++++{
++++   /// <include/>
++++   public class Test
++++   {
++++    // warning
++++    /// <include file='a' />
++++    public static void Main ()
++++    {
++++    }
++++
++++    // warning
++++    /// <include path='/foo/bar' />
++++    public void Bar (int x)
++++    {
++++    }
++++
++++    // warning
++++    /// <include file='there-is-no-such-file' path='/foo/bar' />
++++    public void Baz (int x)
++++    {
++++    }
++++   }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8e7551ee2649a60ec27b5e36d2a1dc832bbe0ef3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-025</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.Test">\r
++++            <!-- No matching elements were found for the following include tag --><include file="test-xml-025.inc" path="/foo"/>\r
++++        </member>\r
++++        <member name="F:Testing.Test.S1">\r
++++            <root attr="is attribute allowed?">\r
++++  includes XML markup.\r
++++  <child>test</child>\r
++++  <child>test2</child>\r
++++</root>\r
++++        </member>\r
++++        <member name="F:Testing.Test.S2">\r
++++            <child>test</child><child>test2</child>\r
++++        </member>\r
++++        <member name="F:Testing.Test.S3">\r
++++            <!-- Failed to insert some or all of included XML -->\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d04979490e9219aa4d8bd45494588e8550510627
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@
++++// Compiler options: -doc:xml-025.xml
++++
++++namespace Testing
++++{
++++   /// <include file='test-xml-025.inc' path='/foo' />
++++   public class Test
++++   {
++++    public static void Main ()
++++    {
++++    }
++++
++++    /// <include file='test-xml-025.inc' path='/root'/>
++++    public string S1;
++++
++++    /// <include file='test-xml-025.inc' path='/root/child'/>
++++    public string S2;
++++
++++    /// <include file='test-xml-025.inc' path='/root/@attr'/>
++++    public string S3;
++++   }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6e4076ca662dd559db55b0f0a196541595ca94a4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,5 @@@@@
++++<root attr='is attribute allowed?'>
++++  includes XML markup.
++++  <child>test</child>
++++  <child>test2</child>
++++</root>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c8876a1643786560c975c3497ce8b127df1d90b1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-026</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.Test">\r
++++            test class
++++        </member>\r
++++        <member name="M:Testing.Test.Foo(System.Int32)">\r
++++            <param>anonymous</param>
++++        </member>\r
++++        <member name="M:Testing.Test.Bar(System.Int32)">\r
++++            <param name='i'>correct</param>
++++            <param name='i'>duplicate</param>
++++        </member>\r
++++        <member name="M:Testing.Test.Baz(System.Int32)">\r
++++            <param name='mismatch'>mismatch</param>
++++        </member>\r
++++        <member name="M:Testing.Test.Var(System.Int32[])">\r
++++            <param name='arr'>varargs</param>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4ef84856b6d6d3bb068ffbefe136b0755b0876be
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,24 @@@@@
++++// Compiler options: -doc:xml-026.xml
++++namespace Testing
++++{
++++    /// test class
++++    public class Test
++++    {
++++            public static void Main ()
++++            {
++++            }
++++
++++            /// <param>anonymous</param>
++++            public void Foo (int i) {}
++++
++++            /// <param name='i'>correct</param>
++++            /// <param name='i'>duplicate</param>
++++            public void Bar (int i) {}
++++
++++            /// <param name='mismatch'>mismatch</param>
++++            public void Baz (int i) {}
++++
++++            /// <param name='arr'>varargs</param>
++++            public void Var (params int [] arr) {}
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d7789abb1fe0fd4b044b2e2dbb7c9b26ee889afe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-027</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Testing.Test">\r
++++            <summary>\r
++++            <see/>\r
++++            <see cref="!:!!!!!"/>\r
++++            <see cref="!:nonexist"/>\r
++++            <see cref="T:Testing.Test"/>\r
++++            <see cref="T:Testing.Test"/>\r
++++            <see cref="T:Test"/>\r
++++            <see cref="_:Test"/>\r
++++            <see cref="P:Bar"/>\r
++++            <see cref="F:Bar"/>\r
++++            <see cref="F:Testing.Test.Bar"/>\r
++++            <see cref="P:Baz"/>\r
++++            <see cref="F:Baz"/>\r
++++            <see cref="P:Testing.Test.Baz"/>\r
++++            <see cref="!:nonexist.Foo()"/>\r
++++            <see cref="M:Testing.Test.Foo"/>\r
++++            <see cref="M:Testing.Test.Foo"/>\r
++++            <see cref="!:Test.Bar()"/>\r
++++            <see cref="!:Test.Foo(System.Int32)"/>\r
++++            </summary>\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8543ae2b9b4c04141d146889f7c918a303ba36ac
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,38 @@@@@
++++// Compiler options: -doc:xml-027.xml
++++using ZZZ = Testing.Test;
++++
++++namespace Testing
++++{
++++    /// <summary>
++++    /// <see />
++++    /// <see cref='!!!!!' />
++++    /// <see cref='nonexist' />
++++    /// <see cref='Test' />
++++    /// <see cref='ZZZ' />
++++    /// <see cref='T:Test' />
++++    /// <see cref='_:Test' />
++++    /// <see cref='P:Bar' />
++++    /// <see cref='F:Bar' />
++++    /// <see cref='Bar' />
++++    /// <see cref='P:Baz' />
++++    /// <see cref='F:Baz' />
++++    /// <see cref='Baz' />
++++    /// <see cref='nonexist.Foo()' />
++++    /// <see cref='Test.Foo()' />
++++    /// <see cref='ZZZ.Foo()' />
++++    /// <see cref='Test.Bar()' />
++++    /// <see cref='Test.Foo(System.Int32)' />
++++    /// </summary>
++++    class Test
++++    {
++++            public static void Main () { System.Console.Error.WriteLine ("xml-027 is running fine ;-)"); }
++++
++++            // I don't put any documentation here, but cref still works.
++++            public void Foo () {}
++++
++++            public string Bar;
++++
++++            public string Baz { get { return ""; } }
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..81fd71a5599c4c8059386cab78d9619ea999c992
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-028</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Test">\r
++++            <summary>\r
++++            Partial comment #2\r
++++            Partial comment #1\r
++++            </summary>\r
++++        </member>\r
++++        <member name="T:Test.Inner">\r
++++            <summary>\r
++++            Partial inner class!\r
++++            ... is still available.\r
++++            </summary>\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2b5c01b619f325cfb03d5c9df4355cb8a5e5d280
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,33 @@@@@
++++// Compiler options: -doc:xml-028.xml
++++using System;
++++
++++/// <summary>
++++/// Partial comment #2
++++public partial class Test
++++{
++++    string Bar;
++++
++++    public static void Main () {}
++++
++++    /// <summary>
++++    /// Partial inner class!
++++    internal partial class Inner
++++    {
++++            public string Hoge;
++++    }
++++}
++++
++++/// Partial comment #1
++++/// </summary>
++++public partial class Test
++++{
++++    public string Foo;
++++
++++    /// ... is still available.
++++    /// </summary>
++++    internal partial class Inner
++++    {
++++            string Fuga;
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8f5a8bd51562b0421c4e6411884e0e77dde175b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,33 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-029</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="M:Test1.Foo">\r
++++            <summary>
++++            Some test documentation
++++            </summary>
++++        </member>\r
++++        <member name="T:ITest2">\r
++++            <summary>
++++            Publicly available interface
++++            </summary>
++++        </member>\r
++++        <member name="M:ITest2.Foo">\r
++++            <summary>
++++            Some test documentation
++++            </summary>
++++        </member>\r
++++        <member name="P:ITest2.Bar">\r
++++            <summary>
++++            Some test documentation
++++            </summary>
++++        </member>\r
++++        <member name="E:ITest2.EventRaised">\r
++++            <summary>
++++            Some test documentation
++++            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..76d90a96eae7646ff0a61721736e860dd78e6202
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,34 @@@@@
++++// Compiler options: -doc:xml-029.xml
++++using System;
++++
++++class Test1 {
++++    /// <summary>
++++    /// Some test documentation
++++    /// </summary>
++++    void Foo(){}
++++
++++    public static void Main () {}
++++}
++++
++++/// <summary>
++++/// Publicly available interface
++++/// </summary>
++++public interface ITest2 {
++++
++++    /// <summary>
++++    /// Some test documentation
++++    /// </summary>
++++    void Foo();
++++
++++    /// <summary>
++++    /// Some test documentation
++++    /// </summary>
++++    long Bar { get; }
++++
++++    /// <summary>
++++    /// Some test documentation
++++    /// </summary>
++++    event EventHandler EventRaised;
++++}
++++
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a410577449d438cd3ea6103640c51f01d3a0fd6f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,30 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-030</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="M:Test.foo2">\r
++++            <summary>\r
++++            some summary\r
++++            </summary>\r
++++            <value>\r
++++            <see cref="T:Test[]"/>\r
++++            <see cref="T:System.Text.RegularExpressions.Regex"/>\r
++++            <see cref="T:System.Text.RegularExpressions.Regex"/>\r
++++            <see cref="N:System.Text.RegularExpressions"/>\r
++++            <see cref="T:System.Text.RegularExpressions.Regex[]"/>\r
++++            </value>\r
++++        </member>\r
++++        <member name="M:Test.foo3(System.String,System.Object[])">\r
++++            <summary>\r
++++            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
++++            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
++++            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
++++            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
++++            </summary>\r
++++            <param name="line">The formatting string.</param>\r
++++            <param name="args">The object array to write into format string.</param>\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3b2cdd922d434d561f11ad0ded7b9a5ecf0f9f6c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,35 @@@@@
++++// Compiler options: -doc:xml-030.xml -warn:4 -warnaserror
++++using System;
++++
++++class Test
++++{
++++    static void Main () {}
++++
++++    /// <summary>
++++    /// some summary
++++    /// </summary>
++++    /// <value>
++++    /// <see cref="T:Test[]"/>
++++    /// <see cref="T:System.Text.RegularExpressions.Regex"/>
++++    /// <see cref="System.Text.RegularExpressions.Regex"/>
++++    /// <see cref="System.Text.RegularExpressions"/>
++++    /// <see cref="T:System.Text.RegularExpressions.Regex[]"/>
++++    /// </value>
++++    //
++++    // <see cref="T:System.Text.RegularExpressions"/> .. csc incorrectly allows it
++++    // <see cref="System.Text.RegularExpressions.Regex[]"/> ... csc does not allow it.
++++    //
++++    public void foo2() {
++++    }
++++
++++    /// <summary>
++++    /// <see cref="String.Format(string, object[])" />.
++++    /// <see cref="string.Format(string, object[])" />.
++++    /// <see cref="String.Format(string, object [ ])" />.
++++    /// <see cref="string.Format(string, object [ ])" />.
++++    /// </summary>
++++    /// <param name="line">The formatting string.</param>
++++    /// <param name="args">The object array to write into format string.</param>
++++    public void foo3(string line, params object[] args) {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4fc375505a116ad249f55d55f7a9542cf60b6256
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,8 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-031</name>\r
++++    </assembly>\r
++++    <members>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..872e0a72fbc22e9d71402201c14952adeca83618
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@
++++// Compiler options: -doc:xml-031.xml -warn:4 -warnaserror
++++//// Some comment
++++////how about this line?
++++using System;
++++using System.IO;
++++
++++class Test
++++{
++++    public static void Main ()
++++    {
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7106587fecc413dba353bb5bf4195bf531adb2bb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,12 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-032</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="M:Test.#ctor(System.String)">\r
++++            <exception cref="T:System.ArgumentNullException"><paramref name="wrongref"/> is <see langword="null"/>.</exception>\r
++++            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="wrongRefAgain"/> is a zero-length <see cref="T:System.String"/>.</exception>\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..30ce28bb29b86f1acad7164de7d0da61d1d11518
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,14 @@@@@
++++// Compiler options: -doc:xml-032.xml -warn:4 -warnaserror
++++using System;
++++
++++class Test
++++{
++++    /// <exception cref="ArgumentNullException"><paramref name="wrongref" /> is <see langword="null" />.</exception>
++++    /// <exception cref="ArgumentOutOfRangeException"><paramref name="wrongRefAgain" /> is a zero-length <see cref="string" />.</exception>
++++    protected Test(string name) 
++++    {
++++    }
++++
++++    static void Main () {}
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..70d300ad970861640fa5ee4302b61f306489837e
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-033</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:MyClass">\r
++++            <summary>help text</summary>
++++        </member>\r
++++        <member name="M:MyClass.Main">\r
++++            <summary>help text</summary>
++++        </member>\r
++++        <member name="M:MyClass.op_Explicit(MyClass)~System.Int32">\r
++++            <summary>help text</summary>
++++        </member>\r
++++        <member name="M:MyClass.op_Implicit(MyClass)~System.Char">\r
++++            <summary>help text</summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9c8e708e31a8feb6f41ee5eec9d82a23779902e3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,23 @@@@@
++++// Compiler options: -doc:xml-033.xml
++++
++++/// <summary>help text</summary>
++++public class MyClass
++++{
++++   /// <summary>help text</summary>
++++   public static void Main()
++++   {
++++   }
++++
++++   /// <summary>help text</summary>
++++   public static explicit operator int(MyClass f)
++++   {
++++      return 0;
++++   }
++++
++++   /// <summary>help text</summary>
++++   public static implicit operator char(MyClass f)
++++   {
++++      return ' ';
++++   }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..30d95dac6d03df2012ac5b1a39bc19c27d0d26b7
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-034</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Test">\r
++++            valid comment.
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..316f5df571b1fc82754ad5bddd5e31a1734503c4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@
++++// Compiler options: -doc:xml-034.xml -warn:4 -warnaserror
++++using System;
++++
++++/// valid comment.
++++public class Test
++++{
++++    static void Main () 
++++    {
++++    }
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bded91e2da203f4a806a92c8af62eae3ad9d6dae
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-035</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Test">\r
++++            <summary>\r
++++            <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader,System.Data.XmlReadMode)"/>\r
++++            <see cref="M:System.Environment.GetFolderPath(System.Environment.SpecialFolder)"/>\r
++++            </summary>\r
++++        </member>\r
++++        <member name="M:Test.Main">\r
++++            <summary>\r
++++            <see cref="T:System.Environment.SpecialFolder"/>\r
++++            </summary>\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f94458e7c722cfd6b972f3b4e27885309a602821
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++// Compiler options: -doc:xml-035.xml -warn:4 -warnaserror -r:System.Data
++++using System;
++++using System.Data;
++++using System.Xml;
++++
++++/// <summary>
++++/// <see cref="DataSet.ReadXml(XmlReader,XmlReadMode)" />
++++/// <see cref="Environment.GetFolderPath(Environment.SpecialFolder)" />
++++/// </summary>
++++public class Test {
++++    /// <summary>
++++    /// <see cref="Environment.SpecialFolder" />
++++    /// </summary>
++++    public static void Main() {
++++    }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..39b40610c0dfc4feae870ce397db05110eca5b1b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-036</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Test">\r
++++            <summary><see cref="F:Test.true"/>, <see cref="F:Test.true"/>, <see cref="F:Test.Whatever"/></summary>\r
++++        </member>\r
++++        <member name="F:Test.true">\r
++++            <summary>Yes</summary>\r
++++        </member>\r
++++        <member name="F:Test.false">\r
++++            <summary>Nope</summary>\r
++++        </member>\r
++++        <member name="F:Test.Whatever">\r
++++            <summary>Maybe</summary>\r
++++        </member>\r
++++        <member name="T:Foo">\r
++++            <summary><see cref="M:Foo.true"/></summary>\r
++++        </member>\r
++++        <member name="M:Foo.true">\r
++++            <summary>Foo</summary>\r
++++        </member>\r
++++        <member name="M:Foo.Main">\r
++++            main.\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a66f9641df195ea7966e352168affe210071d82
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@
++++// Compiler options: -doc:xml-036.xml -warn:1 -warnaserror
++++/// <summary><see cref="@true" />, <see cref="Test.@true" />, <see cref="@Whatever" /></summary>
++++public enum Test {
++++    /// <summary>Yes</summary>
++++    @true,
++++    /// <summary>Nope</summary>
++++    @false,
++++    /// <summary>Maybe</summary>
++++    Whatever
++++}
++++
++++/// <summary><see cref="Foo.@true" /></summary>
++++public abstract class Foo {
++++    /// <summary>Foo</summary>
++++    public abstract void @true();
++++    /// main.
++++    public static void Main() {}
++++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e0bce00b3f0bb7dce744bf84f21a618ff6501159
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-037</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Whatever">\r
++++            <summary>\r
++++            <see cref="E:System.AppDomain.AssemblyResolve"/>\r
++++            </summary>\r
++++        </member>\r
++++        <member name="M:Whatever.Main">\r
++++            <summary>
++++            </summary>
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..10b7d2f8a65b0b0a380e887cd8f8b38772234962
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@
++++// Compiler options: -doc:xml-037.xml
++++using System;
++++using System.Reflection;
++++
++++/// <summary>
++++/// <see cref="AppDomain.AssemblyResolve" />
++++/// </summary>
++++public class Whatever {
++++  /// <summary>
++++  /// </summary>
++++  public static void Main() {
++++    foreach (MemberInfo mi in typeof (AppDomain).FindMembers (
++++            MemberTypes.All,
++++            BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance,
++++            Type.FilterName,
++++            "AssemblyResolve"))
++++            Console.WriteLine (mi.GetType ());
++++  }
++++}
++++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f59d057726c9f2db8251fd286771dace53645dc0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,17 @@@@@
++++<?xml version="1.0"?>\r
++++<doc>\r
++++    <assembly>\r
++++        <name>test-xml-038</name>\r
++++    </assembly>\r
++++    <members>\r
++++        <member name="T:Whatever">\r
++++            <summary>\r
++++            <see cref="E:System.AppDomain.AssemblyResolve"/>\r
++++            </summary>\r
++++        </member>\r
++++        <member name="M:Whatever.Main">\r
++++            <summary>\r
++++            </summary>\r
++++        </member>\r
++++    </members>\r
++++</doc>\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f437497e62ab17bf52a1cd3341d63f75305281b3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@
++++// Compiler options: -doc:xml-038.xml
++++using System;
++++using System.Reflection;
++++using System.Xml;
++++
++++/// <summary>
++++/// <see cref="AppDomain.AssemblyResolve" />
++++/// </summary>
++++public class Whatever {
++++  /// <summary>
++++  /// </summary>
++++  public static void Main() {
++++    foreach (MemberInfo mi in typeof (XmlDocument).FindMembers (
++++            MemberTypes.All,
++++            BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance,
++++            Type.FilterName,
++++            "NodeInserted"))
++++            Console.WriteLine (mi.GetType ());
++++  }
++++}
++++
diff --cc mcs/tests/try.cs
index 5bc1d408d0cdac2d9213fa060a9da30c88542d38,5bc1d408d0cdac2d9213fa060a9da30c88542d38,5bc1d408d0cdac2d9213fa060a9da30c88542d38,5bc1d408d0cdac2d9213fa060a9da30c88542d38..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,53 -1,53 -1,53 -1,53 +1,0 @@@@@
----class t {
----
----    void a ()
----    {
----            int b;
----            
----            try {
----                    b = 1;
----            } catch {
----                    b = 2;
----            }
----    }
----
----    void b ()
----    {
----            int a;
----
----            try {
----                    a = 1;
----            } catch (Exception) {
----                    a = 2;
----            }
----    }
----
----    void c ()
----    {
----            int a;
----
----            try {
----                    a = 2;
----            } catch (Exception e) {
----                    a = 0x3;
----            } catch {
----                    a = 0x1;
----            }
----    }
----
----    void d ()
----    {
----            int a;
----
----            try {
----                    a = 2;
----            } catch (Exception e) {
----                    a = 0x3;
----            } catch {
----                    a = 0x1;
----            } finally {
----                    a = 111;
----            }
----    }
----}
----                    
diff --cc mcs/tests/unsafe-1.cs
index aa1f15e100ba92dbfd4dde50248111a57540a5b4,aa1f15e100ba92dbfd4dde50248111a57540a5b4,aa1f15e100ba92dbfd4dde50248111a57540a5b4,aa1f15e100ba92dbfd4dde50248111a57540a5b4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,182 -1,182 -1,182 -1,182 +1,0 @@@@@
----// Compiler options: -unsafe
----
----//
----// Tests unsafe operators.  address-of, dereference, member access
----//
----using System;
----
----unsafe struct Y {
----    public int a;
----    public int s;
----}
----
----unsafe class X {
----    static int TestDereference ()
----    {
----            Y y;
----            Y *z; 
----            Y a;
----
----            z = &y;
----            y.a = 1;
----            y.s = 2;
----
----            a.a = z->a;
----            a.s = z->s;
----
----            if (a.a != y.a)
----                    return 1;
----            if (a.s != y.s)
----                    return 2;
----
----            return 0;
----    }
----
----    static int TestPtrAdd ()
----    {
----            int [] a = new int [10];
----            int i;
----            
----            for (i = 0; i < 10; i++)
----                    a [i] = i;
----
----            i = 0;
----            fixed (int *b = &a [0]){ 
----                    int *p = b;
----
----                    for (i = 0; i < 10; i++){
----                            if (*p != a [i])
----                                    return 10+i;
----                            p++;
----                    }
----            }
----            return 0;
----    }
----
----    static int i = 1;
----    static char c = 'a';
----    static long l = 123;
----    static double d = 1.2;
----    static float f = 1.3F;
----    static short s = 4;
----    
----    static int TestPtrAssign ()
----    {
----
----            fixed (int *ii = &i){
----                    *ii = 10;
----            }
----
----            fixed (char *cc = &c){
----                    *cc = 'b';
----            }
----
----            fixed (long *ll = &l){
----                    *ll = 100;
----            }
----
----            fixed (double *dd = &d){
----                    *dd = 3.0;
----            }
----
----            fixed (float *ff = &f){
----                    *ff = 1.2F;
----            }
----
----            fixed (short *ss = &s){
----                    *ss = 102;
----            }
----
----            if (i != 10)
----                    return 100;
----            if (c != 'b')
----                    return 101;
----            if (l != 100)
----                    return 102;
----            if (d != 3.0)
----                    return 103;
----            if (f != 1.2F)
----                    return 104;
----            if (s != 102)
----                    return 105;
----            return 0;
----    }
----
----    static int TestPtrArithmetic ()
----    {
----            char [] array = new char [10];
----            char *pb;
----
----            array [5] = 'j';
----            fixed (char *pa = array){
----                    pb = pa + 1;
----
----
----                    //
----                    // This one tests pointer element access
----                    //
----                    if (pa [5] != 'j')
----                            return 199;
----                    
----                    Console.WriteLine ("V: " + (pb - pa));
----                    if ((pb - pa) != 1)
----                            return 200;
----
----                    pb++;
----
----                    if (pb == pa)
----                            return 201;
----                    if (pb < pa)
----                            return 202;
----                    if (pa > pb)
----                            return 203;
----                    if (pa >= pb)
----                            return 204;
----                    if (pb <= pa)
----                            return 205;
----                    pb = pb - 2;
----                    if (pb != pa){
----                            Console.WriteLine ("VV: " + (pb - pa));
----                            return 206;
----                    }
----            }
----
----            return 0;
----    }
----
----    static int TestMultiple ()
----    {
----            char [] array = new char [10];
----            int count = 0;
----            
----            fixed (char *pa = array, pb = array){
----                    count++;
----            }
----            if (count != 1)
----                    return 300;
----            return 0;
----    }
----    
----    static int Main ()
----    {
----            int v;
----
----            if ((v = TestDereference ()) != 0)
----                    return v;
----
----            if ((v = TestPtrAdd ()) != 0)
----                    return v;
----
----            if ((v = TestPtrAssign ()) != 0)
----                    return v;
----
----            if ((v = TestPtrArithmetic ()) != 0)
----                    return v;
----
----            if ((v = TestMultiple ()) != 0)
----                    return v;
----            
----            Console.WriteLine ("Ok");
----            return 0;
----    }
----}
diff --cc mcs/tests/unsafe-10.cs
index ee6fc0c606ab97e9b4f52eb2aced5283e81133e2,ee6fc0c606ab97e9b4f52eb2aced5283e81133e2,ee6fc0c606ab97e9b4f52eb2aced5283e81133e2,ee6fc0c606ab97e9b4f52eb2aced5283e81133e2..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -unsafe
----
----using System;
----
----unsafe class X {
----    static int Main () {
----            int y = 20;
----            byte* x = (byte*)0;
----            x += (long)y;
----            // x == 20;
----            return (int)x - 20 * sizeof (byte);
----    }
----}
diff --cc mcs/tests/unsafe-2.cs
index 7293b24e93d3dad7cd239f7289e69a16035202fa,7293b24e93d3dad7cd239f7289e69a16035202fa,7293b24e93d3dad7cd239f7289e69a16035202fa,7293b24e93d3dad7cd239f7289e69a16035202fa..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,49 -1,49 -1,49 -1,49 +1,0 @@@@@
----// Compiler options: -unsafe
----
----//
----// This test excercises stackalloc, some pointer arithmetic,
----// and dereferences
----//
----using System;
----unsafe class X {
----    static int Main ()
----    {
----            char *ptr = stackalloc char [10];
----            char *cptr = ptr;
----            int i;
----            long l = 0;
----            ulong ul = 0;
----            byte b = 0;
----            
----            for (i = 0; i < 10; i++)
----                    ptr [i] = (char) (i + 10);
----
----            for (i = 0; i < 10; i++){
----                    if (*ptr != (char) (i + 10))
----                            return 200 + i;
----                    ptr++;
----            }
----
----
----            // Now test index access with longs
----            if (cptr [l] != 10){
----                    return 1;
----            }
----            if (cptr [ul] != 10)
----                    return 2;
----            if (cptr [b] != 10)
----                    return 3;
----
----            //
----            // Try to compile non-int values
----            //
----            byte* bptr = (byte*) 5;
----                ushort us = 3;
----                byte* ret = (byte*) (bptr + us);
----                    
----            Console.WriteLine ("Ok");
----            return 0;
----    }
----}   
----
----
diff --cc mcs/tests/unsafe-3.cs
index c757fd54c1eeb36ea266c799939094fa75ba3d03,c757fd54c1eeb36ea266c799939094fa75ba3d03,c757fd54c1eeb36ea266c799939094fa75ba3d03,c757fd54c1eeb36ea266c799939094fa75ba3d03..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,33 -1,33 -1,33 -1,33 +1,0 @@@@@
----// Compiler options: -unsafe
----
----// this tests making a pointer to a pointer
----
----using System;
----
----unsafe class Foo
----{
----    public static int Main ()
----    {
----            int a;
----            int *b;
----            int **c;
----
----            a = 42;
----            b = &a;
----            c = &b;
----            
----            Console.WriteLine ("*c == b : {0}", *c == b);
----            Console.WriteLine ("**c == a : {0}", **c == a);
----
----            if (*c == b && **c == a)
----            {
----                    Console.WriteLine ("Test passed");
----                    return 0;
----            }
----            else
----            {
----                    Console.WriteLine ("Test failed");
----                    return 1;
----            }
----    }
----}
diff --cc mcs/tests/unsafe-4.cs
index 41961e95571cf3c114395abb14c0c011d6c87adf,41961e95571cf3c114395abb14c0c011d6c87adf,41961e95571cf3c114395abb14c0c011d6c87adf,41961e95571cf3c114395abb14c0c011d6c87adf..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----// Compiler options: -unsafe
----
----unsafe class X {
----    static int v;
----    static int v_calls;
----    
----    static int* get_v ()
----    {
----            v_calls++;
----            return &v;
----    }
----    
----    static int Main ()
----    {
----            if ((*get_v ())++ != 0)
----                    return 1;
----            if (v != 1)
----                    return 2;
----            if (v_calls != 1)
----                    return 3;
----            return 0;
----    }
----}
diff --cc mcs/tests/unsafe-5.cs
index 926a7fdf7e613363c56122d219e6845c77df08da,926a7fdf7e613363c56122d219e6845c77df08da,926a7fdf7e613363c56122d219e6845c77df08da,926a7fdf7e613363c56122d219e6845c77df08da..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// Compiler options: -unsafe
----
----using System;
----
----namespace testapp{
----        public unsafe class LibTestAPI{
----
----                struct LibTestStruct{
----                        void* pData;
----                        void* pTest1;
----                }
----
----                LibTestStruct* the_struct;
----
----                public void Create(){
----                        IntPtr MyPtr = new IntPtr(0); // Usually created elsewhere
----                        the_struct = (LibTestStruct *) 0;  // error CS1002
----                }
----        }
----
----        class TestApp{
----                static void Main(string[] args){
----                        LibTestAPI myapi = new LibTestAPI();
----                        myapi.Create();
----                }
----        }
----}
----
diff --cc mcs/tests/unsafe-6.cs
index f2aa9c4a43f15b31956a4e0869bd35f3e4ffd767,f2aa9c4a43f15b31956a4e0869bd35f3e4ffd767,f2aa9c4a43f15b31956a4e0869bd35f3e4ffd767,f2aa9c4a43f15b31956a4e0869bd35f3e4ffd767..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,48 -1,48 -1,48 -1,48 +1,0 @@@@@
----// Compiler options: -unsafe
----
----//
----// This tests excercises the compound assignment when the left side
----// is an dereference operator.
----//
----using System;
----namespace TestCase {
----    public unsafe class Test {
----            static int Main(string[] args) {
----                    uint[] uArr = {0, 200};
----                    uint[] uArr2 = {0, 200};
----
----                    fixed (uint* u = uArr, u2 = uArr2) {
----                            if (DoOp (u) != 100)
----                                    return 1;
----
----                            if (uArr [0] != 100)
----                                    return 2;
----
----                            if (uArr [1] != 200)
----                                    return 3;
----
----                            if (DoOp2 (u2) != 100)
----                                    return 4;
----
----                            if (uArr2 [0] != 100)
----                                    return 5;
----
----                            if (uArr2 [1] != 200)
----                                    return 6;
----                    }
----
----                    return 0;
----            }
----
----            private static uint DoOp (uint *u) {
----                    return *(u) += 100;
----            }
----
----            private static uint DoOp2 (uint *u) {
----                    *(u) += 100;
----                    return *u;
----            }
----
----    }
----}
----
diff --cc mcs/tests/unsafe-7.cs
index 13d5d86ff5986dbd21cd66136c8038f11421c008,13d5d86ff5986dbd21cd66136c8038f11421c008,13d5d86ff5986dbd21cd66136c8038f11421c008,13d5d86ff5986dbd21cd66136c8038f11421c008..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----// Compiler options: -unsafe
----
----struct Obsolete {
----    int a;
----}
----struct A {
----    int a, b;
----}
----
----class MainClass {
----        unsafe public static void Main ()
----        {
----                System.Console.WriteLine (sizeof (Obsolete));
----        }
----}
----
----
diff --cc mcs/tests/unsafe-8.cs
index 51ff6b0394d01344d84962a995de0e32e7cc9654,51ff6b0394d01344d84962a995de0e32e7cc9654,51ff6b0394d01344d84962a995de0e32e7cc9654,51ff6b0394d01344d84962a995de0e32e7cc9654..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,9 -1,9 -1,9 -1,9 +1,0 @@@@@
----// Compiler options: -unsafe
----
----unsafe class T {
----    static int Main () {
----            int len = 10;
----            int* x = stackalloc int [len];
----            return x [0];
----    }
----}
diff --cc mcs/tests/unsafe-9.cs
index f35fd3eb78558cca73eea36c4730e61dd5d64c39,f35fd3eb78558cca73eea36c4730e61dd5d64c39,f35fd3eb78558cca73eea36c4730e61dd5d64c39,f35fd3eb78558cca73eea36c4730e61dd5d64c39..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----// Compiler options: -unsafe
----
----//
----// Test for http://bugzilla.ximian.com/show_bug.cgi?id=62263
----//
----// We need to make sure that pointer arth uses the size of X
----// not the size of X*
----//
----
----using System;
----unsafe struct X {
----    int x, y, z;
----    
----    static int Main ()
----    {
----            X* foo = null;
----            
----            if ((int) (foo + 1) != sizeof (X))
----                    return 1;
----            return 0;
----    }
----}
diff --cc mcs/tests/vararg-dll.cs
index 45459088ede3e087b9de303326ee9e382f73479b,45459088ede3e087b9de303326ee9e382f73479b,45459088ede3e087b9de303326ee9e382f73479b,45459088ede3e087b9de303326ee9e382f73479b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,139 -1,139 -1,139 -1,139 +1,0 @@@@@
----// Compiler options: -t:library
----
----using System;
----
----public struct Result {
----    public int res;
----    // big enough that it won't be returned in registers
----    double duh;
----    long bah;
----
----    public Result (int val) {
----            res = val;
----            bah = val;
----            duh = val;
----    }
----}
----
----public class Vararg
----{
----    public static int AddABunchOfInts (__arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return result;
----    }
----
----    public static int AddASecondBunchOfInts (int a, __arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return result;
----    }
----
----    public static Result VtAddABunchOfInts (__arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return new Result (result);
----    }
----
----    public static Result VtAddASecondBunchOfInts (int a, __arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return new Result (result);
----    }
----
----    public int InstAddABunchOfInts (__arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return result;
----    }
----
----    public int InstAddASecondBunchOfInts (int a, __arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return result;
----    }
----
----    public Result InstVtAddABunchOfInts (__arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return new Result (result);
----    }
----
----    public Result InstVtAddASecondBunchOfInts (int a, __arglist)
----    {
----            int result = 0;
----
----            System.ArgIterator iter = new System.ArgIterator (__arglist);
----            int argCount = iter.GetRemainingCount();
----
----            for (int i = 0; i < argCount; i++) {
----                    System.TypedReference typedRef = iter.GetNextArg();
----                    result += (int)TypedReference.ToObject( typedRef );
----            }
----            
----            return new Result (result);
----    }
----}
diff --cc mcs/tests/vararg-exe.cs
index 6bd1f74d897fe79f4e4bd5ca4edca21d363b6cfd,6bd1f74d897fe79f4e4bd5ca4edca21d363b6cfd,6bd1f74d897fe79f4e4bd5ca4edca21d363b6cfd,6bd1f74d897fe79f4e4bd5ca4edca21d363b6cfd..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,61 -1,61 -1,61 -1,61 +1,0 @@@@@
----// Compiler options: -r:vararg-dll.dll
----
----using System;
----
----class TestVararg
----{
----    static int Main ()
----    {
----            int result = Vararg.AddABunchOfInts (__arglist ( 2, 3, 4 ));
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 9)
----                    return 1;
----
----            result = Vararg.AddASecondBunchOfInts (16, __arglist ( 2, 3, 4 ));
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 9)
----                    return 2;
----
----            Vararg s = new Vararg ();
----
----            result = s.InstAddABunchOfInts (__arglist ( 2, 3, 4, 5 ));
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 14)
----                    return 3;
----
----            result = s.InstAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 ));
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 20)
----                    return 4;
----
----            result = s.InstVtAddABunchOfInts (__arglist ( 2, 3, 4, 5 )).res;
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 14)
----                    return 5;
----
----            result = s.InstVtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 )).res;
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 20)
----                    return 6;
----
----            result = Vararg.VtAddABunchOfInts (__arglist ( 2, 3, 4, 5, 1 )).res;
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 15)
----                    return 7;
----
----            result = Vararg.VtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6, 1 )).res;
----            Console.WriteLine ("Answer: {0}", result);
----
----            if (result != 21)
----                    return 8;
----
----            return 0;
----    }
----}
diff --cc mcs/tests/xml-001-ref.xml
index d507f8499d842f271a641dc90017835b3f1b0d6e,d507f8499d842f271a641dc90017835b3f1b0d6e,d507f8499d842f271a641dc90017835b3f1b0d6e,d507f8499d842f271a641dc90017835b3f1b0d6e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-001</name>\r
----    </assembly>\r
----    <members>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-001.cs
index bc1d8595538f233679dfb04e07997d5f182824aa,bc1d8595538f233679dfb04e07997d5f182824aa,bc1d8595538f233679dfb04e07997d5f182824aa,bc1d8595538f233679dfb04e07997d5f182824aa..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----// Compiler options: -doc:xml-001.xml
----using System;
----
----/// <summary>
----/// xml comment on namespace ... is not allowed.
----/// </summary>
----namespace Testing
----{
----    public class A
----    {               
----            public static void Main ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-002-ref.xml
index b9ca61af9d3e67bf2322f4cafbf38aa034a36a5f,b9ca61af9d3e67bf2322f4cafbf38aa034a36a5f,b9ca61af9d3e67bf2322f4cafbf38aa034a36a5f,b9ca61af9d3e67bf2322f4cafbf38aa034a36a5f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-002</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.Test">\r
----            <summary>
----            comment on class
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.Test2" -->\r
----        <member name="T:Testing.Test3">\r
----                            <summary>
----                            another Java-style documentation style
----                            </summary>
----        </member>\r
----        <member name="T:Testing.Test4">\r
----            indentation level test <seealso
----            cref="T:Testing.Test" />.
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-002.cs
index f18e3248d1ec7bddcec48d20020caaedb57a00f1,f18e3248d1ec7bddcec48d20020caaedb57a00f1,f18e3248d1ec7bddcec48d20020caaedb57a00f1,f18e3248d1ec7bddcec48d20020caaedb57a00f1..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,39 -1,39 -1,39 -1,39 +1,0 @@@@@
----// Compiler options: -doc:xml-002.xml
----using System;
----
----namespace Testing
----{
----    /// <summary>
----    /// comment on class
----    /// </summary>
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----    }
----
----    /// <summary>
----    /// Incorrect comment markup. See <see cref="T:Testing.Test" /> too.
----    /// </incorrect>
----    public class Test2
----    {
----    }
----
----    /**
----            <summary>
----            another Java-style documentation style
----            </summary>
----    */
----    public class Test3
----    {
----    }
----
----            /// indentation level test <seealso
----            ///     cref="T:Testing.Test" />.
----public class Test4
----{
----}
----
----}
----
diff --cc mcs/tests/xml-003-ref.xml
index 02268c50a250edf537362c5f2c260674869db238,02268c50a250edf537362c5f2c260674869db238,02268c50a250edf537362c5f2c260674869db238,02268c50a250edf537362c5f2c260674869db238..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-003</name>\r
----    </assembly>\r
----    <members>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-003.cs
index 68404389f1990e6f762c6342b0f4b90af0c98671,68404389f1990e6f762c6342b0f4b90af0c98671,68404389f1990e6f762c6342b0f4b90af0c98671,68404389f1990e6f762c6342b0f4b90af0c98671..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----// Compiler options: -doc:xml-003.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----                    /// here is an extraneous comment
----            }
----    }
----}
----
diff --cc mcs/tests/xml-004-ref.xml
index a8e5e517deffea007d446122f6a344cb66df411f,a8e5e517deffea007d446122f6a344cb66df411f,a8e5e517deffea007d446122f6a344cb66df411f,a8e5e517deffea007d446122f6a344cb66df411f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-004</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.StructTest">\r
----            <summary> 
----            comment for struct
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.StructTest2" -->\r
----        <member name="T:Testing.StructTest3">\r
----                            <summary>
----                            Java style commet
----                            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-004.cs
index 7fca0849e894182ca033f3ecf00f6a9574e78e07,7fca0849e894182ca033f3ecf00f6a9574e78e07,7fca0849e894182ca033f3ecf00f6a9574e78e07,7fca0849e894182ca033f3ecf00f6a9574e78e07..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,36 -1,36 -1,36 -1,36 +1,0 @@@@@
----// Compiler options: -doc:xml-004.xml
----using System;
----
----namespace Testing
----{
----    /// <summary> 
----    /// comment for struct
----    /// </summary>
----    public struct StructTest
----    {
----    }
----
----    /// <summary> 
----    /// incorrect markup comment for struct
----    /// </incorrect>
----    public struct StructTest2
----    {
----    }
----
----    /**
----            <summary>
----            Java style commet
----            </summary>
----    */
----    public struct StructTest3
----    {
----    }
----
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-005-ref.xml
index 77005a3d6c7b05a5bf89990b1bc14fab0a4e3c5d,77005a3d6c7b05a5bf89990b1bc14fab0a4e3c5d,77005a3d6c7b05a5bf89990b1bc14fab0a4e3c5d,77005a3d6c7b05a5bf89990b1bc14fab0a4e3c5d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-005</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.InterfaceTest">\r
----            <summary>
----            comment for interface
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.InterfaceTest2" -->\r
----        <member name="T:Testing.InterfaceTest3">\r
----                            <summary>
----                            Java style comment for interface
----                            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-005.cs
index 7d331365b69f447157361ae5aa1c9245b07accc8,7d331365b69f447157361ae5aa1c9245b07accc8,7d331365b69f447157361ae5aa1c9245b07accc8,7d331365b69f447157361ae5aa1c9245b07accc8..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,36 -1,36 -1,36 -1,36 +1,0 @@@@@
----// Compiler options: -doc:xml-005.xml
----using System;
----
----namespace Testing
----{
----    /// <summary>
----    /// comment for interface
----    /// </summary>
----    public interface InterfaceTest
----    {
----    }
----
----    /// <summary>
----    /// incorrect markup comment for interface
----    /// </incorrect>
----    public interface InterfaceTest2
----    {
----    }
----
----    /**
----            <summary>
----            Java style comment for interface
----            </summary>
----    */
----    public interface InterfaceTest3
----    {
----    }
----
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-006-ref.xml
index 6c779a300970344a235df1d2f06eb8f801811f55,6c779a300970344a235df1d2f06eb8f801811f55,6c779a300970344a235df1d2f06eb8f801811f55,6c779a300970344a235df1d2f06eb8f801811f55..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-006</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.EnumTest">\r
----            <summary>
----            comment for enum type
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.EnumTest2" -->\r
----        <member name="T:Testing.EnumTest3">\r
----                    <summary>
----                    Java style comment for enum type
----                    </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-006.cs
index 217a982111a8997bf262a3dff503dacf3ada7a52,217a982111a8997bf262a3dff503dacf3ada7a52,217a982111a8997bf262a3dff503dacf3ada7a52,217a982111a8997bf262a3dff503dacf3ada7a52..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,42 -1,42 -1,42 -1,42 +1,0 @@@@@
----// Compiler options: -doc:xml-006.xml
----using System;
----
----namespace Testing
----{
----    /// <summary>
----    /// comment for enum type
----    /// </summary>
----    public enum EnumTest
----    {
----            Foo,
----            Bar,
----    }
----
----    /// <summary>
----    /// comment for enum type
----    /// </incorrect>
----    public enum EnumTest2
----    {
----            Foo,
----            Bar,
----    }
----
----    /**
----    <summary>
----    Java style comment for enum type
----    </summary>
----    */
----    public enum EnumTest3
----    {
----            Foo,
----            Bar,
----    }
----
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-007-ref.xml
index 70cb9475006ec4e81a57550d8479fe37ddb5de84,70cb9475006ec4e81a57550d8479fe37ddb5de84,70cb9475006ec4e81a57550d8479fe37ddb5de84,70cb9475006ec4e81a57550d8479fe37ddb5de84..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-007</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.MyDelegate">\r
----            <summary>
----            comment for delegate type
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.MyDelegate2" -->\r
----        <member name="T:Testing.MyDelegate3">\r
----                    <summary>
----                    Javadoc comment for delegate type
----                    </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-007.cs
index 17758d3fc7a4e7b56e0952551972de9e5e6b862b,17758d3fc7a4e7b56e0952551972de9e5e6b862b,17758d3fc7a4e7b56e0952551972de9e5e6b862b,17758d3fc7a4e7b56e0952551972de9e5e6b862b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----// Compiler options: -doc:xml-007.xml
----using System;
----
----namespace Testing
----{
----    /// <summary>
----    /// comment for delegate type
----    /// </summary>
----    public delegate void MyDelegate (object o, EventArgs e);
----
----    /// <summary>
----    /// comment for delegate type
----    /// </incorrect>
----    public delegate void MyDelegate2 (object o, EventArgs e);
----
----    /**
----    <summary>
----    Javadoc comment for delegate type
----    </summary>
----    */
----    public delegate void MyDelegate3 (object o, EventArgs e);
----
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-008-ref.xml
index d2153a056f40bdbd99371b30728a57361be729ed,d2153a056f40bdbd99371b30728a57361be729ed,d2153a056f40bdbd99371b30728a57361be729ed,d2153a056f40bdbd99371b30728a57361be729ed..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-008</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.Test">\r
----            comment without markup on class - it is allowed
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.Test2" -->\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.Test3" -->\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-008.cs
index a44e4c6ea5c1b568b1ce0acf0ee01073d0fbcc70,a44e4c6ea5c1b568b1ce0acf0ee01073d0fbcc70,a44e4c6ea5c1b568b1ce0acf0ee01073d0fbcc70,a44e4c6ea5c1b568b1ce0acf0ee01073d0fbcc70..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----// Compiler options: -doc:xml-008.xml
----using System;
----
----namespace Testing
----{
----    /// comment without markup on class - it is allowed
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----    }
----
----    /// <6roken> broken markup
----    public class Test2
----    {
----    }
----
----    /// <dont-forget-close-tag>
----    public class Test3
----    {
----    }
----}
----
diff --cc mcs/tests/xml-009-ref.xml
index 952f4c211873a2bb6ab28b635ac6bd37a957f45e,952f4c211873a2bb6ab28b635ac6bd37a957f45e,952f4c211873a2bb6ab28b635ac6bd37a957f45e,952f4c211873a2bb6ab28b635ac6bd37a957f45e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-009</name>\r
----    </assembly>\r
----    <members>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-009.cs
index 9f4ac8c51b4e936a4213d046ac618ed162f76165,9f4ac8c51b4e936a4213d046ac618ed162f76165,9f4ac8c51b4e936a4213d046ac618ed162f76165,9f4ac8c51b4e936a4213d046ac618ed162f76165..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----// Compiler options: -doc:xml-009.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----                    /// inside method - not allowed.
----            }
----    }
----
----    public class Test2
----    {
----            /// no target
----    }
----
----    public class Test3
----    {
----    }
----    /// no target case 2.
----}
----
diff --cc mcs/tests/xml-010-ref.xml
index 137fa27c07744ad04cde9228b2340e726e2f2ee6,137fa27c07744ad04cde9228b2340e726e2f2ee6,137fa27c07744ad04cde9228b2340e726e2f2ee6,137fa27c07744ad04cde9228b2340e726e2f2ee6..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-010</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="F:Testing.Test.Constant">\r
----            <summary>
----            comment for const declaration
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "F:Testing.Test.Constant2" -->\r
----        <member name="F:Testing.Test.Constant3">\r
----                            <summary>
----                            Javaism comment for const declaration
----                            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-010.cs
index c2f19a0f6b5a04f674ed530785f02f22a99a9c29,c2f19a0f6b5a04f674ed530785f02f22a99a9c29,c2f19a0f6b5a04f674ed530785f02f22a99a9c29,c2f19a0f6b5a04f674ed530785f02f22a99a9c29..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----// Compiler options: -doc:xml-010.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            /// <summary>
----            /// comment for const declaration
----            /// </summary>
----            const string Constant = "CONSTANT STRING";
----
----            /// <summary>
----            /// invalid comment for const declaration
----            /// </invalid>
----            const string Constant2 = "CONSTANT STRING";
----
----            /**
----            <summary>
----            Javaism comment for const declaration
----            </summary>
----            */
----            const string Constant3 = "CONSTANT STRING";
----
----            public static void Main ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-011-ref.xml
index 5c8a68886b2548337cede1c62020f76906ff54ba,5c8a68886b2548337cede1c62020f76906ff54ba,5c8a68886b2548337cede1c62020f76906ff54ba,5c8a68886b2548337cede1c62020f76906ff54ba..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-011</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="F:Testing.Test.PublicField">\r
----            <summary>
----            comment for public field
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "F:Testing.Test.PublicField2" -->\r
----        <member name="F:Testing.Test.PublicField3">\r
----                             <summary>
----                             Javadoc comment for public field
----                             </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-011.cs
index 774c411def6b64b64e26e48197483aad8d64861e,774c411def6b64b64e26e48197483aad8d64861e,774c411def6b64b64e26e48197483aad8d64861e,774c411def6b64b64e26e48197483aad8d64861e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----// Compiler options: -doc:xml-011.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            /// <summary>
----            /// comment for public field
----            /// </summary>
----            public string PublicField;
----
----            /// <summary>
----            /// comment for public field
----            /// </invalid>
----            public string PublicField2;
----
----            /**
----             <summary>
----             Javadoc comment for public field
----             </summary>
----            */
----            public string PublicField3;
----
----            public static void Main ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-012-ref.xml
index d8b27f4d473460ca8b7d5d49409ab4cb66ef327a,d8b27f4d473460ca8b7d5d49409ab4cb66ef327a,d8b27f4d473460ca8b7d5d49409ab4cb66ef327a,d8b27f4d473460ca8b7d5d49409ab4cb66ef327a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-012</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="F:Testing.Test.PrivateField">\r
----            <summary>
----            comment for private field
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "F:Testing.Test.PrivateField2" -->\r
----        <member name="F:Testing.Test.PrivateField3">\r
----                            <summary>
----                            Javadoc comment for private field
----                            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-012.cs
index 63ca584e5649461093ffd4761a313f6347bbeb35,63ca584e5649461093ffd4761a313f6347bbeb35,63ca584e5649461093ffd4761a313f6347bbeb35,63ca584e5649461093ffd4761a313f6347bbeb35..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----// Compiler options: -doc:xml-012.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// <summary>
----            /// comment for private field
----            /// </summary>
----            private string PrivateField;
----
----            /// <summary>
----            /// incorrect markup comment for private field
----            /// </incorrect>
----            private string PrivateField2;
----
----            /**
----            <summary>
----            Javadoc comment for private field
----            </summary>
----            */
----            private string PrivateField3;
----    }
----}
----
diff --cc mcs/tests/xml-013-ref.xml
index 6bda2e10be1077501253dd4cdb693190c455dfba,6bda2e10be1077501253dd4cdb693190c455dfba,6bda2e10be1077501253dd4cdb693190c455dfba,6bda2e10be1077501253dd4cdb693190c455dfba..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-013</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="P:Testing.Test.PublicProperty">\r
----            <summary>
----            comment for public property
----            </summary>
----        </member>\r
----        <!-- Badly formed XML comment ignored for member "P:Testing.Test.PublicProperty2" -->\r
----        <member name="P:Testing.Test.PublicProperty3">\r
----                            <summary>
----                            Javadoc comment for public property
----                            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-013.cs
index b7f7ec33a266daedbb6200174325a870930ff4f0,b7f7ec33a266daedbb6200174325a870930ff4f0,b7f7ec33a266daedbb6200174325a870930ff4f0,b7f7ec33a266daedbb6200174325a870930ff4f0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,54 -1,54 -1,54 -1,54 +1,0 @@@@@
----// Compiler options: -doc:xml-013.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// <summary>
----            /// comment for public property
----            /// </summary>
----            public string PublicProperty {
----                    /// <summary>
----                    /// On public getter - no effect
----                    /// </summary>
----                    get { return null; }
----                    /// <summary>
----                    /// On public setter - no effect
----                    /// </summary>
----                    set { }
----            }
----
----            /// <summary>
----            /// incorrect comment for public property
----            /// </incorrect>
----            public string PublicProperty2 {
----                    get { return null; }
----            }
----
----            /**
----            <summary>
----            Javadoc comment for public property
----            </summary>
----            */
----            public string PublicProperty3 {
----                    /**
----                    <summary>
----                    On public getter - no effect
----                    </summary>
----                    */
----                    get { return null; }
----                    /**
----                    <summary>
----                    On public setter - no effect
----                    </summary>
----                    */
----                    set { }
----            }
----    }
----}
----
diff --cc mcs/tests/xml-014-ref.xml
index 503e923735657091f7d8d841adbad09ee081e114,503e923735657091f7d8d841adbad09ee081e114,503e923735657091f7d8d841adbad09ee081e114,503e923735657091f7d8d841adbad09ee081e114..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-014</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="P:Testing.Test.PrivateProperty">\r
----            <summary>
----            comment for private property
----            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-014.cs
index 6ef31eab04b68b536e9c8b43f46ba36d7a931991,6ef31eab04b68b536e9c8b43f46ba36d7a931991,6ef31eab04b68b536e9c8b43f46ba36d7a931991,6ef31eab04b68b536e9c8b43f46ba36d7a931991..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----// Compiler options: -doc:xml-014.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// <summary>
----            /// comment for private property
----            /// </summary>
----            private string PrivateProperty {
----                    get { return null; }
----                    set { }
----            }
----    }
----}
----
diff --cc mcs/tests/xml-015-ref.xml
index 947571623e5adec3e1fdd3a78b79909d21ef653c,947571623e5adec3e1fdd3a78b79909d21ef653c,947571623e5adec3e1fdd3a78b79909d21ef653c,947571623e5adec3e1fdd3a78b79909d21ef653c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-015</name>\r
----    </assembly>\r
----    <members>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-015.cs
index 9374b765bcf6fe7265386ba4ed51366d8cc2f8be,9374b765bcf6fe7265386ba4ed51366d8cc2f8be,9374b765bcf6fe7265386ba4ed51366d8cc2f8be,9374b765bcf6fe7265386ba4ed51366d8cc2f8be..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----// Compiler options: -doc:xml-015.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            private string PrivateProperty {
----                    get { return null; }
----                    /// <summary>
----                    /// comment for private property setter - no effect
----                    /// </summary>
----                    set { }
----            }
----
----    }
----}
----
diff --cc mcs/tests/xml-016-ref.xml
index ec9a1a6e9911c140abce5c04a7c16a68cdb10b6e,ec9a1a6e9911c140abce5c04a7c16a68cdb10b6e,ec9a1a6e9911c140abce5c04a7c16a68cdb10b6e,ec9a1a6e9911c140abce5c04a7c16a68cdb10b6e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,16 -1,16 -1,16 -1,16 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-016</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="E:Testing.Test.MyEvent">\r
----            <summary>
----            public event EventHandler MyEvent
----            </summary>
----        </member>\r
----        <member name="E:Testing.Test.MyEvent2">\r
----            private event EventHandler MyEvent; without markup - it is OK.
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-016.cs
index 13fbe510256efbbb94bfb5ee3aff607122ff7991,13fbe510256efbbb94bfb5ee3aff607122ff7991,13fbe510256efbbb94bfb5ee3aff607122ff7991,13fbe510256efbbb94bfb5ee3aff607122ff7991..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----// Compiler options: -doc:xml-016.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// <summary>
----            /// public event EventHandler MyEvent
----            /// </summary>
----            public event EventHandler MyEvent;
----
----            /// private event EventHandler MyEvent; without markup - it is OK.
----            private event EventHandler MyEvent2;
----    }
----}
----
diff --cc mcs/tests/xml-017-ref.xml
index 10bc385f25282d3243bc9f81fcd0b582d603564d,10bc385f25282d3243bc9f81fcd0b582d603564d,10bc385f25282d3243bc9f81fcd0b582d603564d,10bc385f25282d3243bc9f81fcd0b582d603564d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-017</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="M:Testing.Test.Foo">\r
----            comment on method without parameter
----        </member>\r
----        <member name="M:Testing.Test.Foo(System.Int64,Testing.Test,System.Collections.ArrayList)">\r
----            here is a documentation with parameters (and has same name)
----        </member>\r
----        <member name="M:Testing.Test.Foo(System.String[])">\r
----            here is a documentation with parameters (and has same name)
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-017.cs
index d53d46fae62cb3eb1f60e57d3102f1cc517de924,d53d46fae62cb3eb1f60e57d3102f1cc517de924,d53d46fae62cb3eb1f60e57d3102f1cc517de924,d53d46fae62cb3eb1f60e57d3102f1cc517de924..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,28 -1,28 -1,28 -1,28 +1,0 @@@@@
----// Compiler options: -doc:xml-017.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// comment on method without parameter
----            public static void Foo ()
----            {
----            }
----
----            /// here is a documentation with parameters (and has same name)
----            public static void Foo (long l, Test t, System.Collections.ArrayList al)
----            {
----            }
----
----            /// here is a documentation with parameters (and has same name)
----            public static void Foo (params string [] param)
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-018-ref.xml
index a1651f072651de3ff554d58d1ae6d32b9372410e,a1651f072651de3ff554d58d1ae6d32b9372410e,a1651f072651de3ff554d58d1ae6d32b9372410e,a1651f072651de3ff554d58d1ae6d32b9372410e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-018</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="P:Testing.Test.Item(System.Int32)">\r
----            <summary>
----            comment for indexer
----            </summary>
----        </member>\r
----        <member name="P:Testing.Test.Item(System.String)">\r
----            <summary>
----            comment for indexer
----            </summary>
----        </member>\r
----        <member name="P:Testing.Test.Item(System.Int32,Testing.Test)">\r
----            <summary>
----            comment for indexer wit multiple parameters
----            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-018.cs
index 194f44f331ba130f3014b7fdaf046b74e52862bc,194f44f331ba130f3014b7fdaf046b74e52862bc,194f44f331ba130f3014b7fdaf046b74e52862bc,194f44f331ba130f3014b7fdaf046b74e52862bc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----// Compiler options: -doc:xml-018.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// <summary>
----            /// comment for indexer
----            /// </summary>
----            public string this [int i] {
----                    get { return null; }
----            }
----
----            /// <summary>
----            /// comment for indexer
----            /// </summary>
----            public string this [string s] {
----                    get { return null; }
----            }
----
----            /// <summary>
----            /// comment for indexer wit multiple parameters
----            /// </summary>
----            public string this [int i, Test t] {
----                    get { return null; }
----            }
----
----    }
----}
----
diff --cc mcs/tests/xml-019-ref.xml
index 7871adc022c835282f17ee4559f4273b0ab7ce6b,7871adc022c835282f17ee4559f4273b0ab7ce6b,7871adc022c835282f17ee4559f4273b0ab7ce6b,7871adc022c835282f17ee4559f4273b0ab7ce6b..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-019</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="M:Testing.Test.op_LogicalNot(Testing.Test)">\r
----            <summary>
----            comment for unary operator
----            </summary>
----        </member>\r
----        <member name="M:Testing.Test.op_Addition(Testing.Test,System.Int32)">\r
----            <summary>
----            comment for binary operator
----            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-019.cs
index 81a563cd77d8afa5c3febecce15b2a00b458a1e5,81a563cd77d8afa5c3febecce15b2a00b458a1e5,81a563cd77d8afa5c3febecce15b2a00b458a1e5,81a563cd77d8afa5c3febecce15b2a00b458a1e5..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----// Compiler options: -doc:xml-019.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// <summary>
----            /// comment for unary operator
----            /// </summary>
----            public static bool operator ! (Test t)
----            {
----                    return false;
----            }
----
----            /// <summary>
----            /// comment for binary operator
----            /// </summary>
----            public static int operator + (Test t, int b)
----            {
----                    return b;
----            }
----    }
----}
----
diff --cc mcs/tests/xml-020-ref.xml
index a6f01b701ae5545c0d2850bef72d224f915ab7bc,a6f01b701ae5545c0d2850bef72d224f915ab7bc,a6f01b701ae5545c0d2850bef72d224f915ab7bc,a6f01b701ae5545c0d2850bef72d224f915ab7bc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-020</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="M:Testing.Test.#ctor">\r
----            comment for constructor
----        </member>\r
----        <member name="M:Testing.Test.Finalize">\r
----            comment for destructor
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-020.cs
index da30bdf53f7b0e2e57ef6e36b45c6a64e3383d87,da30bdf53f7b0e2e57ef6e36b45c6a64e3383d87,da30bdf53f7b0e2e57ef6e36b45c6a64e3383d87,da30bdf53f7b0e2e57ef6e36b45c6a64e3383d87..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----// Compiler options: -doc:xml-020.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// comment for constructor
----            public Test ()
----            {
----            }
----
----            /// comment for destructor
----            ~Test ()
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-021-ref.xml
index 53785fea59a601a011fea0fc643c65bdec3ed52d,53785fea59a601a011fea0fc643c65bdec3ed52d,53785fea59a601a011fea0fc643c65bdec3ed52d,53785fea59a601a011fea0fc643c65bdec3ed52d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-021</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.Test.InternalClass">\r
----            comment for internal class
----        </member>\r
----        <member name="T:Testing.Test.InternalStruct">\r
----            comment for internal struct
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-021.cs
index 542e2784bcdab71e9aae497e4937e6656c32d36d,542e2784bcdab71e9aae497e4937e6656c32d36d,542e2784bcdab71e9aae497e4937e6656c32d36d,542e2784bcdab71e9aae497e4937e6656c32d36d..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----// Compiler options: -doc:xml-021.xml
----using System;
----
----namespace Testing
----{
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// comment for internal class
----            public class InternalClass
----            {
----            }
----
----            /// comment for internal struct
----            public struct InternalStruct
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-022-ref.xml
index d338d6f29b1f20c7fba9adb446f6bc68791515f8,d338d6f29b1f20c7fba9adb446f6bc68791515f8,d338d6f29b1f20c7fba9adb446f6bc68791515f8,d338d6f29b1f20c7fba9adb446f6bc68791515f8..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,102 -1,102 -1,102 -1,102 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-022</name>\r
----    </assembly>\r
----    <members>\r
----        <!-- Badly formed XML comment ignored for member "T:Testing.Test2" -->\r
----        <member name="M:Testing.Test2.Foo">\r
----                                    another documentation style (Java-mimic)
----        </member>\r
----        <member name="T:Testing.StructTest">\r
----            testing indentation <summary> test test ;-)
----            comment for struct
----            </summary>
----        </member>\r
----        <member name="T:Testing.InterfaceTest">\r
----            <summary>
----            comment for interface
----            </summary>
----        </member>\r
----        <member name="T:Testing.EnumTest">\r
----            <summary>
----            comment for enum type
----            </summary>
----        </member>\r
----        <member name="F:Testing.EnumTest.Foo">\r
----            <summary>
----            comment for enum field
----            </summary>
----        </member>\r
----        <member name="T:Testing.Dummy">\r
----            <summary>
----            comment for dummy type
----            </summary>
----        </member>\r
----        <member name="T:Testing.MyDelegate">\r
----            <summary>
----            comment for delegate type
----            </summary>
----        </member>\r
----        <member name="T:Testing.Test">\r
----            <summary>
----            description for class Test
----            </summary>
----        </member>\r
----        <member name="F:Testing.Test.Constant">\r
----            comment for const declaration
----        </member>\r
----        <member name="F:Testing.Test.BadPublicField">\r
----            comment for public field
----        </member>\r
----        <member name="F:Testing.Test.PrivateField">\r
----            comment for private field
----        </member>\r
----        <member name="M:Testing.Test.Foo">\r
----            here is a documentation!!!
----        </member>\r
----        <member name="M:Testing.Test.Foo(System.Int64,Testing.Test,System.Collections.ArrayList)">\r
----            here is a documentation with parameters
----        </member>\r
----        <member name="M:Testing.Test.op_LogicalNot(Testing.Test)">\r
----            <summary>
----            comment for unary operator
----            </summary>
----        </member>\r
----        <member name="M:Testing.Test.op_Addition(Testing.Test,System.Int32)">\r
----            <summary>
----            comment for binary operator
----            </summary>
----        </member>\r
----        <member name="M:Testing.Test.Finalize">\r
----            comment for destructor
----        </member>\r
----        <member name="M:Testing.Test.#ctor">\r
----            comment for .ctor()
----        </member>\r
----        <member name="M:Testing.Test.#ctor(System.String,System.String[])">\r
----            comment for .ctor(string arg, string [] args)
----        </member>\r
----        <member name="P:Testing.Test.PublicProperty">\r
----            comment for public property
----        </member>\r
----        <member name="P:Testing.Test.PrivateProperty">\r
----            comment for private property
----        </member>\r
----        <member name="E:Testing.Test.MyEvent">\r
----            public event EventHandler MyEvent ;-)
----        </member>\r
----        <member name="P:Testing.Test.Item(System.Int32)">\r
----            comment for indexer
----        </member>\r
----        <member name="P:Testing.Test.Item(System.Int32,Testing.Test)">\r
----            comment for indexer wit multiple parameters
----        </member>\r
----        <member name="T:Testing.Test.InternalClass">\r
----            comment for internal class
----        </member>\r
----        <member name="T:Testing.Test.InternalStruct">\r
----            comment for internal struct
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-022.cs
index b7eb5aacd4bd422c1362879b3951e41b0bd99265,b7eb5aacd4bd422c1362879b3951e41b0bd99265,b7eb5aacd4bd422c1362879b3951e41b0bd99265,b7eb5aacd4bd422c1362879b3951e41b0bd99265..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,161 -1,161 -1,161 -1,161 +1,0 @@@@@
----// Compiler options: -doc:xml-022.xml
----//
----// Combined tests (for detecting incorrect markup targeting).
----//
----using System;
----
----/// <summary>
----/// xml comment is not allowed here.
----/// </summary>
----namespace Testing
----{
----    /// <summary>
----    /// </incorrect>
----    public class Test2
----    {
----            /**
----                    another documentation style (Java-mimic)
----            */
----            public static void Foo ()
----            {
----                    /// here is an extraneous comment
----            }
----
----            public static void Main ()
----            {
----            }
----    }
----
----    /// testing indentation <summary> test test ;-)
----    /// comment for struct
----    /// </summary>
----    public struct StructTest
----    {
----    }
----
----    /// <summary>
----    /// comment for interface
----    /// </summary>
----    public interface InterfaceTest
----    {
----    }
----
----    /// <summary>
----    /// comment for enum type
----    /// </summary>
----    public enum EnumTest
----    {
----            /// <summary>
----            /// comment for enum field
----            /// </summary>
----            Foo,
----            Bar,
----    }
----
----    /// <summary>
----    /// comment for dummy type
----    /// </summary>
----    public class Dummy {}
----
----    /// <summary>
----    /// comment for delegate type
----    /// </summary>
----    public delegate void MyDelegate (object o, EventArgs e);
----
----    /// <summary>
----    /// description for class Test
----    /// </summary>
----    public class Test
----    {
----            /// comment for const declaration
----            const string Constant = "CONSTANT STRING";
----
----            /// comment for public field
----            public string BadPublicField;
----
----            /// comment for private field
----            private string PrivateField;
----
----            /// comment for public property
----            public string PublicProperty {
----                    /// comment for private property getter
----                    get { return null; }
----            }
----
----            /// comment for private property
----            private string PrivateProperty {
----                    get { return null; }
----                    /// comment for private property setter
----                    set { }
----            }
----
----            int x;
----
----            /// public event EventHandler MyEvent ;-)
----            public event EventHandler MyEvent;
----
----            int y;
----
----            /// here is a documentation!!!
----            public static void Foo ()
----            {
----            }
----
----            /// here is a documentation with parameters
----            public static void Foo (long l, Test t, System.Collections.ArrayList al)
----            {
----            }
----
----            /// comment for indexer
----            public string this [int i] {
----                    get { return null; }
----            }
----
----            /// comment for indexer wit multiple parameters
----            public string this [int i, Test t] {
----                    get { return null; }
----            }
----
----            /// <summary>
----            /// comment for unary operator
----            /// </summary>
----            public static bool operator ! (Test t)
----            {
----                    return false;
----            }
----
----            /// <summary>
----            /// comment for binary operator
----            /// </summary>
----            public static int operator + (Test t, int b)
----            {
----                    return b;
----            }
----
----            /// comment for destructor
----            ~Test ()
----            {
----            }
----
----            /// comment for .ctor()
----            public Test ()
----            {
----            }
----
----            /// comment for .ctor(string arg, string [] args)
----            public Test (string arg, string [] args)
----            {
----            }
----
----            /// comment for internal class
----            public class InternalClass
----            {
----            }
----
----            /// comment for internal struct
----            public struct InternalStruct
----            {
----            }
----    }
----}
----
diff --cc mcs/tests/xml-023-ref.xml
index a977f4b4cecf014e5afc1f567830ca57a5ea70c7,a977f4b4cecf014e5afc1f567830ca57a5ea70c7,a977f4b4cecf014e5afc1f567830ca57a5ea70c7,a977f4b4cecf014e5afc1f567830ca57a5ea70c7..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-023</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="M:Test.Foo(Test.A,System.Int32)">\r
----            here is a documentation
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-023.cs
index 974877906cae4590845f14fcfd6196629b2c126a,974877906cae4590845f14fcfd6196629b2c126a,974877906cae4590845f14fcfd6196629b2c126a,974877906cae4590845f14fcfd6196629b2c126a..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,15 -1,15 -1,15 -1,15 +1,0 @@@@@
----// Compiler options: -doc:xml-023.xml
----   public class Test
----   {
----       public class A {}
----
----       public static void Main ()
----       {
----       }
----
----       /// here is a documentation
----       public static void Foo (A a, int x)
----       {
----       }
----   }
----
diff --cc mcs/tests/xml-024-ref.xml
index 36162af1a14e36625aa1b662488547b1c55f0975,36162af1a14e36625aa1b662488547b1c55f0975,36162af1a14e36625aa1b662488547b1c55f0975,36162af1a14e36625aa1b662488547b1c55f0975..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-024</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.Test">\r
----            <!-- Include tag is invalid --><include/>\r
----        </member>\r
----        <member name="M:Testing.Test.Main">\r
----            <!-- Include tag is invalid --><include file="a"/>\r
----        </member>\r
----        <member name="M:Testing.Test.Bar(System.Int32)">\r
----            <!-- Include tag is invalid --><include path="/foo/bar"/>\r
----        </member>\r
----        <member name="M:Testing.Test.Baz(System.Int32)">\r
----            <!-- Badly formed XML file "c:\cygwin\home\_\cvs\mcs\tests\there-is-no-such-file" cannot be included -->\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-024.cs
index f1e870b22c5da933f1534b0b7d55bab432d1eb91,f1e870b22c5da933f1534b0b7d55bab432d1eb91,f1e870b22c5da933f1534b0b7d55bab432d1eb91,f1e870b22c5da933f1534b0b7d55bab432d1eb91..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,27 -1,27 -1,27 -1,27 +1,0 @@@@@
----// Compiler options: -doc:xml-024.xml
----
----namespace Testing
----{
----   /// <include/>
----   public class Test
----   {
----    // warning
----    /// <include file='a' />
----    public static void Main ()
----    {
----    }
----
----    // warning
----    /// <include path='/foo/bar' />
----    public void Bar (int x)
----    {
----    }
----
----    // warning
----    /// <include file='there-is-no-such-file' path='/foo/bar' />
----    public void Baz (int x)
----    {
----    }
----   }
----}
----
diff --cc mcs/tests/xml-025-ref.xml
index 446c164e980dbb720b75a3957e742f3d100c0400,446c164e980dbb720b75a3957e742f3d100c0400,446c164e980dbb720b75a3957e742f3d100c0400,446c164e980dbb720b75a3957e742f3d100c0400..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-025</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.Test">\r
----            <!-- No matching elements were found for the following include tag --><include file="xml-025.inc" path="/foo"/>\r
----        </member>\r
----        <member name="F:Testing.Test.S1">\r
----            <root attr="is attribute allowed?">\r
----  includes XML markup.\r
----  <child>test</child>\r
----  <child>test2</child>\r
----</root>\r
----        </member>\r
----        <member name="F:Testing.Test.S2">\r
----            <child>test</child><child>test2</child>\r
----        </member>\r
----        <member name="F:Testing.Test.S3">\r
----            <!-- Failed to insert some or all of included XML -->\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-025.cs
index 92aadac02899d2e925a4ba6e6dd0d60442a12c7c,92aadac02899d2e925a4ba6e6dd0d60442a12c7c,92aadac02899d2e925a4ba6e6dd0d60442a12c7c,92aadac02899d2e925a4ba6e6dd0d60442a12c7c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,22 -1,22 -1,22 -1,22 +1,0 @@@@@
----// Compiler options: -doc:xml-025.xml
----
----namespace Testing
----{
----   /// <include file='xml-025.inc' path='/foo' />
----   public class Test
----   {
----    public static void Main ()
----    {
----    }
----
----    /// <include file='xml-025.inc' path='/root'/>
----    public string S1;
----
----    /// <include file='xml-025.inc' path='/root/child'/>
----    public string S2;
----
----    /// <include file='xml-025.inc' path='/root/@attr'/>
----    public string S3;
----   }
----}
----
diff --cc mcs/tests/xml-025.inc
index 6e4076ca662dd559db55b0f0a196541595ca94a4,6e4076ca662dd559db55b0f0a196541595ca94a4,6e4076ca662dd559db55b0f0a196541595ca94a4,6e4076ca662dd559db55b0f0a196541595ca94a4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,5 -1,5 -1,5 -1,5 +1,0 @@@@@
----<root attr='is attribute allowed?'>
----  includes XML markup.
----  <child>test</child>
----  <child>test2</child>
----</root>
diff --cc mcs/tests/xml-026-ref.xml
index af0add6bf29f95e71d0d2f9567880c404493c7b6,af0add6bf29f95e71d0d2f9567880c404493c7b6,af0add6bf29f95e71d0d2f9567880c404493c7b6,af0add6bf29f95e71d0d2f9567880c404493c7b6..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-026</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.Test">\r
----            test class
----        </member>\r
----        <member name="M:Testing.Test.Foo(System.Int32)">\r
----            <param>anonymous</param>
----        </member>\r
----        <member name="M:Testing.Test.Bar(System.Int32)">\r
----            <param name='i'>correct</param>
----            <param name='i'>duplicate</param>
----        </member>\r
----        <member name="M:Testing.Test.Baz(System.Int32)">\r
----            <param name='mismatch'>mismatch</param>
----        </member>\r
----        <member name="M:Testing.Test.Var(System.Int32[])">\r
----            <param name='arr'>varargs</param>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-026.cs
index 4ef84856b6d6d3bb068ffbefe136b0755b0876be,4ef84856b6d6d3bb068ffbefe136b0755b0876be,4ef84856b6d6d3bb068ffbefe136b0755b0876be,4ef84856b6d6d3bb068ffbefe136b0755b0876be..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,24 -1,24 -1,24 -1,24 +1,0 @@@@@
----// Compiler options: -doc:xml-026.xml
----namespace Testing
----{
----    /// test class
----    public class Test
----    {
----            public static void Main ()
----            {
----            }
----
----            /// <param>anonymous</param>
----            public void Foo (int i) {}
----
----            /// <param name='i'>correct</param>
----            /// <param name='i'>duplicate</param>
----            public void Bar (int i) {}
----
----            /// <param name='mismatch'>mismatch</param>
----            public void Baz (int i) {}
----
----            /// <param name='arr'>varargs</param>
----            public void Var (params int [] arr) {}
----    }
----}
diff --cc mcs/tests/xml-027-ref.xml
index d46d67823a647d77d181720927563713e2e0cae2,d46d67823a647d77d181720927563713e2e0cae2,d46d67823a647d77d181720927563713e2e0cae2,d46d67823a647d77d181720927563713e2e0cae2..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-027</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Testing.Test">\r
----            <summary>\r
----            <see/>\r
----            <see cref="!:!!!!!"/>\r
----            <see cref="!:nonexist"/>\r
----            <see cref="T:Testing.Test"/>\r
----            <see cref="T:Testing.Test"/>\r
----            <see cref="T:Test"/>\r
----            <see cref="_:Test"/>\r
----            <see cref="P:Bar"/>\r
----            <see cref="F:Bar"/>\r
----            <see cref="F:Testing.Test.Bar"/>\r
----            <see cref="P:Baz"/>\r
----            <see cref="F:Baz"/>\r
----            <see cref="P:Testing.Test.Baz"/>\r
----            <see cref="!:nonexist.Foo()"/>\r
----            <see cref="M:Testing.Test.Foo"/>\r
----            <see cref="M:Testing.Test.Foo"/>\r
----            <see cref="!:Test.Bar()"/>\r
----            <see cref="!:Test.Foo(System.Int32)"/>\r
----            </summary>\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-027.cs
index 8543ae2b9b4c04141d146889f7c918a303ba36ac,8543ae2b9b4c04141d146889f7c918a303ba36ac,8543ae2b9b4c04141d146889f7c918a303ba36ac,8543ae2b9b4c04141d146889f7c918a303ba36ac..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,38 -1,38 -1,38 -1,38 +1,0 @@@@@
----// Compiler options: -doc:xml-027.xml
----using ZZZ = Testing.Test;
----
----namespace Testing
----{
----    /// <summary>
----    /// <see />
----    /// <see cref='!!!!!' />
----    /// <see cref='nonexist' />
----    /// <see cref='Test' />
----    /// <see cref='ZZZ' />
----    /// <see cref='T:Test' />
----    /// <see cref='_:Test' />
----    /// <see cref='P:Bar' />
----    /// <see cref='F:Bar' />
----    /// <see cref='Bar' />
----    /// <see cref='P:Baz' />
----    /// <see cref='F:Baz' />
----    /// <see cref='Baz' />
----    /// <see cref='nonexist.Foo()' />
----    /// <see cref='Test.Foo()' />
----    /// <see cref='ZZZ.Foo()' />
----    /// <see cref='Test.Bar()' />
----    /// <see cref='Test.Foo(System.Int32)' />
----    /// </summary>
----    class Test
----    {
----            public static void Main () { System.Console.Error.WriteLine ("xml-027 is running fine ;-)"); }
----
----            // I don't put any documentation here, but cref still works.
----            public void Foo () {}
----
----            public string Bar;
----
----            public string Baz { get { return ""; } }
----    }
----}
----
diff --cc mcs/tests/xml-028-ref.xml
index 94ea925e039cf324e87190eb93431f2dbe216a52,94ea925e039cf324e87190eb93431f2dbe216a52,94ea925e039cf324e87190eb93431f2dbe216a52,94ea925e039cf324e87190eb93431f2dbe216a52..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-028</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Test">\r
----            <summary>\r
----            Partial comment #2\r
----            Partial comment #1\r
----            </summary>\r
----        </member>\r
----        <member name="T:Test.Inner">\r
----            <summary>\r
----            Partial inner class!\r
----            ... is still available.\r
----            </summary>\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-028.cs
index 2b5c01b619f325cfb03d5c9df4355cb8a5e5d280,2b5c01b619f325cfb03d5c9df4355cb8a5e5d280,2b5c01b619f325cfb03d5c9df4355cb8a5e5d280,2b5c01b619f325cfb03d5c9df4355cb8a5e5d280..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,33 -1,33 -1,33 -1,33 +1,0 @@@@@
----// Compiler options: -doc:xml-028.xml
----using System;
----
----/// <summary>
----/// Partial comment #2
----public partial class Test
----{
----    string Bar;
----
----    public static void Main () {}
----
----    /// <summary>
----    /// Partial inner class!
----    internal partial class Inner
----    {
----            public string Hoge;
----    }
----}
----
----/// Partial comment #1
----/// </summary>
----public partial class Test
----{
----    public string Foo;
----
----    /// ... is still available.
----    /// </summary>
----    internal partial class Inner
----    {
----            string Fuga;
----    }
----}
----
diff --cc mcs/tests/xml-029-ref.xml
index 65c4fb561fcdfce4a545f304f7e89926438573ea,65c4fb561fcdfce4a545f304f7e89926438573ea,65c4fb561fcdfce4a545f304f7e89926438573ea,65c4fb561fcdfce4a545f304f7e89926438573ea..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,33 -1,33 -1,33 -1,33 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-029</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="M:Test1.Foo">\r
----            <summary>
----            Some test documentation
----            </summary>
----        </member>\r
----        <member name="T:ITest2">\r
----            <summary>
----            Publicly available interface
----            </summary>
----        </member>\r
----        <member name="M:ITest2.Foo">\r
----            <summary>
----            Some test documentation
----            </summary>
----        </member>\r
----        <member name="P:ITest2.Bar">\r
----            <summary>
----            Some test documentation
----            </summary>
----        </member>\r
----        <member name="E:ITest2.EventRaised">\r
----            <summary>
----            Some test documentation
----            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-029.cs
index 76d90a96eae7646ff0a61721736e860dd78e6202,76d90a96eae7646ff0a61721736e860dd78e6202,76d90a96eae7646ff0a61721736e860dd78e6202,76d90a96eae7646ff0a61721736e860dd78e6202..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,34 -1,34 -1,34 -1,34 +1,0 @@@@@
----// Compiler options: -doc:xml-029.xml
----using System;
----
----class Test1 {
----    /// <summary>
----    /// Some test documentation
----    /// </summary>
----    void Foo(){}
----
----    public static void Main () {}
----}
----
----/// <summary>
----/// Publicly available interface
----/// </summary>
----public interface ITest2 {
----
----    /// <summary>
----    /// Some test documentation
----    /// </summary>
----    void Foo();
----
----    /// <summary>
----    /// Some test documentation
----    /// </summary>
----    long Bar { get; }
----
----    /// <summary>
----    /// Some test documentation
----    /// </summary>
----    event EventHandler EventRaised;
----}
----
----
diff --cc mcs/tests/xml-030-ref.xml
index d6711b871ce2094ecaf9897ecc2d2fe64baa827e,d6711b871ce2094ecaf9897ecc2d2fe64baa827e,d6711b871ce2094ecaf9897ecc2d2fe64baa827e,d6711b871ce2094ecaf9897ecc2d2fe64baa827e..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,30 -1,30 -1,30 -1,30 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-030</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="M:Test.foo2">\r
----            <summary>\r
----            some summary\r
----            </summary>\r
----            <value>\r
----            <see cref="T:Test[]"/>\r
----            <see cref="T:System.Text.RegularExpressions.Regex"/>\r
----            <see cref="T:System.Text.RegularExpressions.Regex"/>\r
----            <see cref="N:System.Text.RegularExpressions"/>\r
----            <see cref="T:System.Text.RegularExpressions.Regex[]"/>\r
----            </value>\r
----        </member>\r
----        <member name="M:Test.foo3(System.String,System.Object[])">\r
----            <summary>\r
----            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
----            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
----            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
----            <see cref="M:System.String.Format(System.String,System.Object[])"/>.\r
----            </summary>\r
----            <param name="line">The formatting string.</param>\r
----            <param name="args">The object array to write into format string.</param>\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-030.cs
index 3b2cdd922d434d561f11ad0ded7b9a5ecf0f9f6c,3b2cdd922d434d561f11ad0ded7b9a5ecf0f9f6c,3b2cdd922d434d561f11ad0ded7b9a5ecf0f9f6c,3b2cdd922d434d561f11ad0ded7b9a5ecf0f9f6c..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,35 -1,35 -1,35 -1,35 +1,0 @@@@@
----// Compiler options: -doc:xml-030.xml -warn:4 -warnaserror
----using System;
----
----class Test
----{
----    static void Main () {}
----
----    /// <summary>
----    /// some summary
----    /// </summary>
----    /// <value>
----    /// <see cref="T:Test[]"/>
----    /// <see cref="T:System.Text.RegularExpressions.Regex"/>
----    /// <see cref="System.Text.RegularExpressions.Regex"/>
----    /// <see cref="System.Text.RegularExpressions"/>
----    /// <see cref="T:System.Text.RegularExpressions.Regex[]"/>
----    /// </value>
----    //
----    // <see cref="T:System.Text.RegularExpressions"/> .. csc incorrectly allows it
----    // <see cref="System.Text.RegularExpressions.Regex[]"/> ... csc does not allow it.
----    //
----    public void foo2() {
----    }
----
----    /// <summary>
----    /// <see cref="String.Format(string, object[])" />.
----    /// <see cref="string.Format(string, object[])" />.
----    /// <see cref="String.Format(string, object [ ])" />.
----    /// <see cref="string.Format(string, object [ ])" />.
----    /// </summary>
----    /// <param name="line">The formatting string.</param>
----    /// <param name="args">The object array to write into format string.</param>
----    public void foo3(string line, params object[] args) {
----    }
----}
diff --cc mcs/tests/xml-031-ref.xml
index 2a5a67ac40da0647c2b9ef5792029579fb62b8cc,2a5a67ac40da0647c2b9ef5792029579fb62b8cc,2a5a67ac40da0647c2b9ef5792029579fb62b8cc,2a5a67ac40da0647c2b9ef5792029579fb62b8cc..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,8 -1,8 -1,8 -1,8 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-031</name>\r
----    </assembly>\r
----    <members>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-031.cs
index 872e0a72fbc22e9d71402201c14952adeca83618,872e0a72fbc22e9d71402201c14952adeca83618,872e0a72fbc22e9d71402201c14952adeca83618,872e0a72fbc22e9d71402201c14952adeca83618..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,13 -1,13 -1,13 -1,13 +1,0 @@@@@
----// Compiler options: -doc:xml-031.xml -warn:4 -warnaserror
----//// Some comment
----////how about this line?
----using System;
----using System.IO;
----
----class Test
----{
----    public static void Main ()
----    {
----    }
----}
----
diff --cc mcs/tests/xml-032-ref.xml
index c588132b45414f90b6e2613c2278518aa3735f56,c588132b45414f90b6e2613c2278518aa3735f56,c588132b45414f90b6e2613c2278518aa3735f56,c588132b45414f90b6e2613c2278518aa3735f56..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,12 -1,12 -1,12 -1,12 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-032</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="M:Test.#ctor(System.String)">\r
----            <exception cref="T:System.ArgumentNullException"><paramref name="wrongref"/> is <see langword="null"/>.</exception>\r
----            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="wrongRefAgain"/> is a zero-length <see cref="T:System.String"/>.</exception>\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-032.cs
index 30ce28bb29b86f1acad7164de7d0da61d1d11518,30ce28bb29b86f1acad7164de7d0da61d1d11518,30ce28bb29b86f1acad7164de7d0da61d1d11518,30ce28bb29b86f1acad7164de7d0da61d1d11518..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,14 -1,14 -1,14 -1,14 +1,0 @@@@@
----// Compiler options: -doc:xml-032.xml -warn:4 -warnaserror
----using System;
----
----class Test
----{
----    /// <exception cref="ArgumentNullException"><paramref name="wrongref" /> is <see langword="null" />.</exception>
----    /// <exception cref="ArgumentOutOfRangeException"><paramref name="wrongRefAgain" /> is a zero-length <see cref="string" />.</exception>
----    protected Test(string name) 
----    {
----    }
----
----    static void Main () {}
----}
----
diff --cc mcs/tests/xml-033-ref.xml
index cfa138ce55ede69dd336cfc1a13080d35befc33a,cfa138ce55ede69dd336cfc1a13080d35befc33a,cfa138ce55ede69dd336cfc1a13080d35befc33a,cfa138ce55ede69dd336cfc1a13080d35befc33a..0000000000000000000000000000000000000000
deleted file mode 100755,100755,100755,100755
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-033</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:MyClass">\r
----            <summary>help text</summary>
----        </member>\r
----        <member name="M:MyClass.Main">\r
----            <summary>help text</summary>
----        </member>\r
----        <member name="M:MyClass.op_Explicit(MyClass)~System.Int32">\r
----            <summary>help text</summary>
----        </member>\r
----        <member name="M:MyClass.op_Implicit(MyClass)~System.Char">\r
----            <summary>help text</summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-033.cs
index 9c8e708e31a8feb6f41ee5eec9d82a23779902e3,9c8e708e31a8feb6f41ee5eec9d82a23779902e3,9c8e708e31a8feb6f41ee5eec9d82a23779902e3,9c8e708e31a8feb6f41ee5eec9d82a23779902e3..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,23 -1,23 -1,23 -1,23 +1,0 @@@@@
----// Compiler options: -doc:xml-033.xml
----
----/// <summary>help text</summary>
----public class MyClass
----{
----   /// <summary>help text</summary>
----   public static void Main()
----   {
----   }
----
----   /// <summary>help text</summary>
----   public static explicit operator int(MyClass f)
----   {
----      return 0;
----   }
----
----   /// <summary>help text</summary>
----   public static implicit operator char(MyClass f)
----   {
----      return ' ';
----   }
----}
----
diff --cc mcs/tests/xml-034-ref.xml
index 3845c584379f4ce1f603d87df116d22b7995975e,3845c584379f4ce1f603d87df116d22b7995975e,3845c584379f4ce1f603d87df116d22b7995975e,3845c584379f4ce1f603d87df116d22b7995975e..0000000000000000000000000000000000000000
deleted file mode 100755,100755,100755,100755
+++ /dev/null
@@@@@ -1,11 -1,11 -1,11 -1,11 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-034</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Test">\r
----            valid comment.
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-034.cs
index 316f5df571b1fc82754ad5bddd5e31a1734503c4,316f5df571b1fc82754ad5bddd5e31a1734503c4,316f5df571b1fc82754ad5bddd5e31a1734503c4,316f5df571b1fc82754ad5bddd5e31a1734503c4..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,10 -1,10 -1,10 -1,10 +1,0 @@@@@
----// Compiler options: -doc:xml-034.xml -warn:4 -warnaserror
----using System;
----
----/// valid comment.
----public class Test
----{
----    static void Main () 
----    {
----    }
----}
diff --cc mcs/tests/xml-035-ref.xml
index 577f5103a3905727957b9b3d101818de0a29bd5e,577f5103a3905727957b9b3d101818de0a29bd5e,577f5103a3905727957b9b3d101818de0a29bd5e,577f5103a3905727957b9b3d101818de0a29bd5e..0000000000000000000000000000000000000000
deleted file mode 100755,100755,100755,100755
+++ /dev/null
@@@@@ -1,19 -1,19 -1,19 -1,19 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-035</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Test">\r
----            <summary>\r
----            <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader,System.Data.XmlReadMode)"/>\r
----            <see cref="M:System.Environment.GetFolderPath(System.Environment.SpecialFolder)"/>\r
----            </summary>\r
----        </member>\r
----        <member name="M:Test.Main">\r
----            <summary>\r
----            <see cref="T:System.Environment.SpecialFolder"/>\r
----            </summary>\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-035.cs
index f94458e7c722cfd6b972f3b4e27885309a602821,f94458e7c722cfd6b972f3b4e27885309a602821,f94458e7c722cfd6b972f3b4e27885309a602821,f94458e7c722cfd6b972f3b4e27885309a602821..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----// Compiler options: -doc:xml-035.xml -warn:4 -warnaserror -r:System.Data
----using System;
----using System.Data;
----using System.Xml;
----
----/// <summary>
----/// <see cref="DataSet.ReadXml(XmlReader,XmlReadMode)" />
----/// <see cref="Environment.GetFolderPath(Environment.SpecialFolder)" />
----/// </summary>
----public class Test {
----    /// <summary>
----    /// <see cref="Environment.SpecialFolder" />
----    /// </summary>
----    public static void Main() {
----    }
----}
----
diff --cc mcs/tests/xml-036-ref.xml
index ffef863c19f59fdae6cdf5a7845558130c31a884,ffef863c19f59fdae6cdf5a7845558130c31a884,ffef863c19f59fdae6cdf5a7845558130c31a884,ffef863c19f59fdae6cdf5a7845558130c31a884..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,29 -1,29 -1,29 -1,29 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-036</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Test">\r
----            <summary><see cref="F:Test.true"/>, <see cref="F:Test.true"/>, <see cref="F:Test.Whatever"/></summary>\r
----        </member>\r
----        <member name="F:Test.true">\r
----            <summary>Yes</summary>\r
----        </member>\r
----        <member name="F:Test.false">\r
----            <summary>Nope</summary>\r
----        </member>\r
----        <member name="F:Test.Whatever">\r
----            <summary>Maybe</summary>\r
----        </member>\r
----        <member name="T:Foo">\r
----            <summary><see cref="M:Foo.true"/></summary>\r
----        </member>\r
----        <member name="M:Foo.true">\r
----            <summary>Foo</summary>\r
----        </member>\r
----        <member name="M:Foo.Main">\r
----            main.\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-036.cs
index 3a66f9641df195ea7966e352168affe210071d82,3a66f9641df195ea7966e352168affe210071d82,3a66f9641df195ea7966e352168affe210071d82,3a66f9641df195ea7966e352168affe210071d82..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,18 -1,18 -1,18 -1,18 +1,0 @@@@@
----// Compiler options: -doc:xml-036.xml -warn:1 -warnaserror
----/// <summary><see cref="@true" />, <see cref="Test.@true" />, <see cref="@Whatever" /></summary>
----public enum Test {
----    /// <summary>Yes</summary>
----    @true,
----    /// <summary>Nope</summary>
----    @false,
----    /// <summary>Maybe</summary>
----    Whatever
----}
----
----/// <summary><see cref="Foo.@true" /></summary>
----public abstract class Foo {
----    /// <summary>Foo</summary>
----    public abstract void @true();
----    /// main.
----    public static void Main() {}
----}
diff --cc mcs/tests/xml-037-ref.xml
index e040fbe73082c6c460ae9972a95b2c89b8349703,e040fbe73082c6c460ae9972a95b2c89b8349703,e040fbe73082c6c460ae9972a95b2c89b8349703,e040fbe73082c6c460ae9972a95b2c89b8349703..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-037</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Whatever">\r
----            <summary>\r
----            <see cref="E:System.AppDomain.AssemblyResolve"/>\r
----            </summary>\r
----        </member>\r
----        <member name="M:Whatever.Main">\r
----            <summary>
----            </summary>
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-037.cs
index 10b7d2f8a65b0b0a380e887cd8f8b38772234962,10b7d2f8a65b0b0a380e887cd8f8b38772234962,10b7d2f8a65b0b0a380e887cd8f8b38772234962,10b7d2f8a65b0b0a380e887cd8f8b38772234962..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,20 -1,20 -1,20 -1,20 +1,0 @@@@@
----// Compiler options: -doc:xml-037.xml
----using System;
----using System.Reflection;
----
----/// <summary>
----/// <see cref="AppDomain.AssemblyResolve" />
----/// </summary>
----public class Whatever {
----  /// <summary>
----  /// </summary>
----  public static void Main() {
----    foreach (MemberInfo mi in typeof (AppDomain).FindMembers (
----            MemberTypes.All,
----            BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance,
----            Type.FilterName,
----            "AssemblyResolve"))
----            Console.WriteLine (mi.GetType ());
----  }
----}
----
diff --cc mcs/tests/xml-038-ref.xml
index f470e81fe104ea7988cc1950aac06368647227c0,f470e81fe104ea7988cc1950aac06368647227c0,f470e81fe104ea7988cc1950aac06368647227c0,f470e81fe104ea7988cc1950aac06368647227c0..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,17 -1,17 -1,17 -1,17 +1,0 @@@@@
----<?xml version="1.0"?>\r
----<doc>\r
----    <assembly>\r
----        <name>xml-038</name>\r
----    </assembly>\r
----    <members>\r
----        <member name="T:Whatever">\r
----            <summary>\r
----            <see cref="E:System.AppDomain.AssemblyResolve"/>\r
----            </summary>\r
----        </member>\r
----        <member name="M:Whatever.Main">\r
----            <summary>\r
----            </summary>\r
----        </member>\r
----    </members>\r
----</doc>\r
diff --cc mcs/tests/xml-038.cs
index f437497e62ab17bf52a1cd3341d63f75305281b3,f437497e62ab17bf52a1cd3341d63f75305281b3,f437497e62ab17bf52a1cd3341d63f75305281b3,f437497e62ab17bf52a1cd3341d63f75305281b3..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,21 -1,21 -1,21 -1,21 +1,0 @@@@@
----// Compiler options: -doc:xml-038.xml
----using System;
----using System.Reflection;
----using System.Xml;
----
----/// <summary>
----/// <see cref="AppDomain.AssemblyResolve" />
----/// </summary>
----public class Whatever {
----  /// <summary>
----  /// </summary>
----  public static void Main() {
----    foreach (MemberInfo mi in typeof (XmlDocument).FindMembers (
----            MemberTypes.All,
----            BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance,
----            Type.FilterName,
----            "NodeInserted"))
----            Console.WriteLine (mi.GetType ());
----  }
----}
----
diff --cc mcs/tests/xmldocdiff.cs
index 17cc095f36a9c5100ef42c98de9e64a7c91e739f,17cc095f36a9c5100ef42c98de9e64a7c91e739f,17cc095f36a9c5100ef42c98de9e64a7c91e739f,17cc095f36a9c5100ef42c98de9e64a7c91e739f..0000000000000000000000000000000000000000
deleted file mode 100644,100644,100644,100644
+++ /dev/null
@@@@@ -1,122 -1,122 -1,122 -1,122 +1,0 @@@@@
----using System;
----using System.Collections;
----using System.Xml;
----
----public class Test
----{
----    public class ComparisonException : Exception
----    {
----            public ComparisonException (string message)
----                    : base (message)
----            {
----            }
----    }
----
----    static bool debug = false;
----    static bool error = false;
----
----    public static void Main (string [] args)
----    {
----            if (args.Length < 2) {
----                    Console.Error.WriteLine ("Usage: xmldocdiff [reference_output.xml] [actual_output.xml]");
----                    return;
----            }
----            if (args.Length > 2 && args [2].EndsWith ("-debug"))
----                    debug = true;
----
----            try {
----                    Run (args);
----            } catch (Exception ex) {
----                    Console.WriteLine ("FAIL: " + args [1]);
----                    throw ex;
----            }
----            Console.WriteLine ("PASS: " + args [1]);
----    }
----
----    private static void Run (string [] args)
----    {
----            XmlDocument doc1 = new XmlDocument ();
----            doc1.Load (args [0]);
----            XmlDocument doc2 = new XmlDocument ();
----            doc2.Load (args [1]);
----
----            XmlNodeList memberList1 = doc1.SelectNodes ("/doc/members/member");
----            XmlNodeList memberList2 = doc2.SelectNodes ("/doc/members/member");
----
----            Hashtable namedItems = new Hashtable ();
----
----            foreach (XmlElement el in memberList1)
----                    namedItems.Add (el.GetAttribute ("name"), el);
----            foreach (XmlElement el2 in memberList2) {
----                    string name = el2.GetAttribute ("name");
----                    XmlElement el1 = namedItems [name] as XmlElement;
----                    if (el1 == null) {
----                            Report ("Extraneous element found. Name is '{0}'", name);
----                            continue;
----                    }
----                    namedItems.Remove (name);
----
----                    CompareNodes (el1, el2);
----
----            }
----            foreach (string name in namedItems.Keys)
----                    Report ("Expected comment was not found. Name is {0}, XML is {1}", name, ((XmlElement) namedItems [name]).OuterXml);
----
----            // finally, check other nodes than members
----            doc1.SelectSingleNode ("/doc/members").RemoveAll ();
----            doc2.SelectSingleNode ("/doc/members").RemoveAll ();
----            string xml1 = doc1.OuterXml.Replace ("\r", "").Trim ();
----            string xml2 = doc2.OuterXml.Replace ("\r", "").Trim ();
----            if (xml1 != xml2)
----                    Report (@"Either of doc, assembly, name, members elements  are different.
----doc1: {0}
----doc2: {1}", xml1, xml2);
----    }
----
----    private static void CompareNodes (XmlNode n1, XmlNode n2)
----    {
----            if (n2 == null) {
----                    Report (@"Nodes does not exist:
----Node1: {0}", n1.OuterXml);
----                    return;
----            }
----            if (n1.NodeType != n2.NodeType) {
----                    Report (@"Nodes differ:
----Node1: {0}
----Node2: {1}", n1.OuterXml, n2.OuterXml);
----                    return;
----            }
----            if (n1.Name != n2.Name) {
----                    Report (@"Node names differ:
----Node1: {0}
----Node2: {1}", n1.OuterXml, n2.OuterXml);
----                    return;
----            }
----            if (n1 is XmlElement) {
----                    for (int i = 0; i < n1.Attributes.Count; i++)
----                            CompareNodes (n1.Attributes [i],
----                                    n2.Attributes [i]);
----                    for (int i = 0; i < n1.ChildNodes.Count; i++)
----                            CompareNodes (n1.ChildNodes [i],
----                                    n2.ChildNodes [i]);
----            }
----            if (n1.NodeType != XmlNodeType.Comment && n1.Value != null) {
----                    string v1 = n1.Value.Trim ().Replace ("\r", "");
----                    string v2 = n2.Value.Trim ().Replace ("\r", "");
----                    if (v1 != v2)
----                            Report (@"Node values differ:
----Node1: {0}
----Node2: {1}", v1, v2);
----            }
----    }
----
----    static void Report (string format, params object [] args)
----    {
----            error = true;
----            if (debug)
----                    Console.WriteLine (format, args);
----            else
----                    throw new ComparisonException (String.Format (format, args));
----    }
----}
----