Test cases listed by Category: ============================== * Operators test-146.cs test-175.cs test-200.cs test-204.cs * Overloading test-147.cs test-173.cs * Try/Catch blocks verify-1.cs verify-2.cs * Indexers and Properties test-148.cs test-166.cs test-206.cs test-208.cs test-209.cs * Events and Delegates test-149.cs test-164.cs verify-3.cs * Constant Folding test-150.cs * Switch blocks test-152.cs test-193.cs verify-4.cs * Member Access & Simple Names test-151.cs test-159.cs test-160.cs test-161.cs test-190.cs * Invocation and Casts test-153.cs test-163.c test-207.cs test-210.cs test-211.cs * Flow Analysis test-154.cs test-162.cs test-185.cs * Type Containers test-155.cs test-156.cs * Attributes test-157.cs test-158.cs test-177.cs * Arrays and array creation test-165.cs, test-167.cs * Labels and goto verify-5.cs * Enums verify-6.cs * Type resolution and name lookup test-198.cs test-201.cs test-202.cs test-203.cs Test cases listed by Number: ============================ test-146.cs ----------- Test for Binary.EmitBrancheable() to ensure we're emitting correct unsinged branch targets. test-147.cs ----------- Testing `new' modifier. test-148.cs ----------- Testing the `IndexerName' attribute in interface indexers. test-149.cs ----------- Testing interface events. test-150.cs ----------- Test for folding of UIntConstants. See bug #28106. FIXME: We should all all possible test cases to this test. test-151.cs ----------- A.Iface b; void doit (Object A) { b = (A.Iface)A; } test-152.cs ----------- Scope of variables declared inside a switch case. test-153.cs ----------- Testing invocation of varargs function. test-154.cs ----------- Flow analysis: This test contains all situations which are "allowed". test-155.cs ----------- Nested interfaces. test-156.cs ----------- Check whether base types are at least as accessible than the current type. test-157.cs ----------- Attributes. test-158.cs ----------- Attributes. test-159.cs ----------- SimpleNameLookup: Cast to `A.Iface' type when there's a parameter called `A'. test-160.cs ----------- ResolveMemberLookup: `B look; return look.s.a' must work in static context. test-161.cs ----------- ResolveMemberLookup: Field initializer references `DateTime.Now' when there's an instance property/field `DateTime'. test-162.cs ----------- Control Flow Analysis wrt. structs. test-163.cs ----------- Test to check we select string over object when we have a Null literal as the argument. test-164.cs ----------- Virtual functions in delegate creation expressions. test-165.cs ----------- Enums in array creation expression. test-166.cs ----------- Using property from interface which is inherited multiple times. test-173.cs ----------- Check whether we select the correct function, don't report CS0121 for integer literals. test-174.cs ----------- Checks access to protected properties on base classes, and access to private properties on container classes. test-175.cs ----------- Check for user-defined implicit conversions if both arguments of a binary operator are of a user-defined type. Bug #30443. test-176.cs ----------- This tests checks that we perform constant folding on byte values. The compiler had a bug where it did not do so. test-177.cs ----------- This tests that the compiler is generating "return:" attributes for a method. This was a separate code path, and was not handled in the past. test-178.cs ----------- Ensure that we emit attributes only once for operators. Bug #45876 test-179.cs ----------- Tests various uses of the indexers in the presence of the `new' keyword and various different argument types. test-180.cs ----------- This test is part of a bug report in which casting an enumeration value into System.Enum was not wrapped correctly, and the wrong method was called. test-181.cs ----------- Test whenever mcs correctly handles the MethodImplAttributes custom attribute. test-182.cs ----------- Tests that bug 37473 is gone. The problem was that we were generating incorrect code for field references on a value type. The code was originally written by Martin, but I turned it off as I did not see what it did fix. The code is now turned on again. test-183.cs ----------- This test just verifies that we generate the proper signature for EndInvoke, something that we were not doing before in the presence of out parameters test-184.cs ----------- This test fixes a bug that exposed a problem when calling a struct constructor that is initialized from an instance constructor test-185.cs ----------- Flow analysis wrt. infinite loops. Bug #37708. test-186.cs ----------- Typecasts were not being constant-folded/reduced, which triggered the bug 37363. (String) null was not a null constant in attributes. test-187.cs ----------- This test verifies that we resolve the source expression in a compound expression before we attempt to use it. test-188.cs ----------- Test that the foreach statement generated by mcs invokes the Dispose() method even if the enumerator class returned by GetEnumerator () does not implement IDisposable. test-189.cs ----------- Test to ensure proper overload resolution of params method under various cases. test-190.cs ----------- Accessing private field of outer class from which we derive. tests-191.cs ------------ Some accessibility tests that exist in Corlib and System, to probe the new functionality in the compiler for accessibility of private nested classes. test-192.cs ----------- Fix for bug 41952, basically, we were not using the `unchecked' bit during constant resolution due to the nature of EmitMeta. test-193.cs ----------- Fix for bug 39828, allow goto to a label in another switch section. test-194.cs ----------- Fix for bug #39108 - ensure that the correct form of a params method is called: "explicit conversion of argument to object (type object cannot be implicitly converted to type object[]) affects resolution of normal/expanded form of method invocation." test-195.cs ----------- Fix for bug #45149, constructors that call another constructor in the same class (using ": this()") should not emit instance field initializers. test-196.cs: ------------ The optimization that we perform in uint & int-constant was triggering a bug because we returned always, when we should have continued the processing if the conditions were not correct. test-197.cs ----------- Fix for bug #42973. test-198.cs ----------- Type resolution and name lookup. Fixes for bugs #36316, #36314. test-199.cs ----------- Name resolution wrt. inaccessible types. Fixes bug #36313. test-200.cs ----------- Compound assignment (x = (y += 3)). Fixes bug #45854. test-201.cs ----------- Fix for bug #35631. test-202.cs ----------- Fix for bug #41975. test-203.cs ----------- Fix for bug #33026. test-204.cs ----------- User defined conditional logical operators; bug #40505. test-206.cs ----------- Indexers; bug #46502. test-207.cs ----------- Expressions which return delegates. test-208.cs ----------- Indexers; bug #46788. test-209.cs ----------- Embedded assignments; while fixing a bug and making a mistake, I discovered some problems during class libs compilation. Let's just add a testcase for them here. test-210.cs ----------- Cast something to a delegate and then invoke it; bug #46923. test-211.cs ----------- Multiple casts. test-212.cs ----------- Params overload resolution with implicit user conversion verify-1.cs ----------- Test whether we do not jump out of the method in a Try/Finally block. verify-2.cs ----------- Test whether `return' in a Try/Catch block actually returns. Test whether continue uses Leave when the branch is across Try/Catch boundaries. verify-3.cs ----------- Checks default add/remove method of static events. verify-4.cs ----------- When there's an unreachable break in a switch section, it must not emit a jump out of the method. verify-6.cs ----------- Casts from/to System.Enum. unsafe-6.cs: ------------ Tests the correct computation of compound operators in the context of a pointer dereference on the left side.