1 Test cases listed by Category:
2 ==============================
6 test-146.cs test-175.cs test-200.cs test-204.cs
10 test-147.cs test-173.cs
14 verify-1.cs verify-2.cs
16 * Indexers and Properties
18 test-148.cs test-166.cs test-206.cs test-208.cs test-209.cs
20 * Events and Delegates
22 test-149.cs test-164.cs verify-3.cs
30 test-152.cs test-193.cs verify-4.cs
32 * Member Access & Simple Names
34 test-151.cs test-159.cs test-160.cs test-161.cs test-190.cs
36 * Invocation and Casts
38 test-153.cs test-163.c test-207.cs test-210.cs test-211.cs
42 test-154.cs test-162.cs test-185.cs
46 test-155.cs test-156.cs
50 test-157.cs test-158.cs test-177.cs
52 * Arrays and array creation
54 test-165.cs, test-167.cs
64 * Type resolution and name lookup
66 test-198.cs test-201.cs test-202.cs test-203.cs test-214.cs
68 Test cases listed by Number:
69 ============================
73 Test for Binary.EmitBrancheable() to ensure we're emitting correct
74 unsinged branch targets.
78 Testing `new' modifier.
82 Testing the `IndexerName' attribute in interface indexers.
86 Testing interface events.
90 Test for folding of UIntConstants. See bug #28106.
91 FIXME: We should all all possible test cases to this test.
97 void doit (Object A) {
103 Scope of variables declared inside a switch case.
107 Testing invocation of varargs function.
111 Flow analysis: This test contains all situations which are "allowed".
119 Check whether base types are at least as accessible than the current type.
131 SimpleNameLookup: Cast to `A.Iface' type when there's a parameter called `A'.
135 ResolveMemberLookup: `B look; return look.s.a' must work in static context.
139 ResolveMemberLookup: Field initializer references `DateTime.Now' when there's
140 an instance property/field `DateTime'.
144 Control Flow Analysis wrt. structs.
148 Test to check we select string over object when we have a Null literal as the argument.
152 Virtual functions in delegate creation expressions.
156 Enums in array creation expression.
160 Using property from interface which is inherited multiple times.
164 Check whether we select the correct function, don't report CS0121
165 for integer literals.
169 Checks access to protected properties on base classes, and access to
170 private properties on container classes.
174 Check for user-defined implicit conversions if both arguments of a
175 binary operator are of a user-defined type. Bug #30443.
179 This tests checks that we perform constant folding on byte values. The
180 compiler had a bug where it did not do so.
184 This tests that the compiler is generating "return:" attributes for a
185 method. This was a separate code path, and was not handled in the past.
190 Ensure that we emit attributes only once for operators. Bug #45876
195 Tests various uses of the indexers in the presence of the `new' keyword
196 and various different argument types.
200 This test is part of a bug report in which casting an enumeration value
201 into System.Enum was not wrapped correctly, and the wrong method was
206 Test whenever mcs correctly handles the MethodImplAttributes
211 Tests that bug 37473 is gone. The problem was that we were generating
212 incorrect code for field references on a value type. The code was originally
213 written by Martin, but I turned it off as I did not see what it did fix. The
214 code is now turned on again.
218 This test just verifies that we generate the proper signature for
219 EndInvoke, something that we were not doing before in the presence
224 This test fixes a bug that exposed a problem when calling a struct
225 constructor that is initialized from an instance constructor
229 Flow analysis wrt. infinite loops. Bug #37708.
233 Typecasts were not being constant-folded/reduced, which triggered
234 the bug 37363. (String) null was not a null constant in attributes.
238 This test verifies that we resolve the source expression in a compound
239 expression before we attempt to use it.
243 Test that the foreach statement generated by mcs invokes the Dispose()
244 method even if the enumerator class returned by GetEnumerator () does not
245 implement IDisposable.
249 Test to ensure proper overload resolution of params method under various cases.
253 Accessing private field of outer class from which we derive.
257 Some accessibility tests that exist in Corlib and System, to probe the new
258 functionality in the compiler for accessibility of private nested classes.
262 Fix for bug 41952, basically, we were not using the `unchecked' bit during
263 constant resolution due to the nature of EmitMeta.
267 Fix for bug 39828, allow goto to a label in another switch section.
271 Fix for bug #39108 - ensure that the correct form of a params method is called:
273 "explicit conversion of argument to object
274 (type object cannot be implicitly converted to type
275 object[]) affects resolution of normal/expanded form
276 of method invocation."
281 Fix for bug #45149, constructors that call another constructor in the
282 same class (using ": this()") should not emit instance field initializers.
287 The optimization that we perform in uint & int-constant was triggering a bug
288 because we returned always, when we should have continued the processing if the
289 conditions were not correct.
299 Type resolution and name lookup. Fixes for bugs #36316, #36314.
304 Name resolution wrt. inaccessible types. Fixes bug #36313.
309 Compound assignment (x = (y += 3)). Fixes bug #45854.
329 User defined conditional logical operators; bug #40505.
334 Indexers; bug #46502.
339 Expressions which return delegates.
344 Indexers; bug #46788.
349 Embedded assignments; while fixing a bug and making a mistake, I discovered some
350 problems during class libs compilation. Let's just add a testcase for them here.
355 Cast something to a delegate and then invoke it; bug #46923.
365 Params overload resolution with implicit user conversion
370 Unboxing struct from interface type; bug #47822.
375 Namespace lookups; bug #47853.
380 Namespace lookups; bug #47927.
384 Accessability bug fix #48710 on events
389 >= and <= operators; bug #48679
393 Tests delegate creation inside an array; This exposed a bug in the
394 fact that New is called for DoResolve twice from array initialization.
399 Test whether we do not jump out of the method in a Try/Finally block.
403 Test whether `return' in a Try/Catch block actually returns. Test
404 whether continue uses Leave when the branch is across Try/Catch
409 Checks default add/remove method of static events.
413 When there's an unreachable break in a switch section, it must not emit a jump out of
418 Casts from/to System.Enum.
422 Tests the correct computation of compound operators in the context of a pointer
423 dereference on the left side.
428 Simple constructed type.
433 Type parameter as field.
438 Field of constructed type.
443 Method argument of constructed type.
448 Local variable of constructed type.
453 More complex example.
458 Constructed type deriving from a class type.
468 `where T : ICloneable' and then calling t.Clone ().
473 `where T : I, J' - I is an inferface, J a class.