--- /dev/null
+public abstract class ObsoleteA
+{
+ [System.ObsoleteAttribute ("Obsolete struct", true)]
+ protected ObsoleteA () {}
+}
\ No newline at end of file
--- /dev/null
+[System.ObsoleteAttribute ("Obsolete struct", true)]
+public struct ObsoleteStruct
+{
+}
\ No newline at end of file
+2004-03-29 Marek Safar <marek.safar@seznam.cz>
+ * cs0029-3.cs,
+ cs0173-2.cs,
+ cs0619-{2-26}.cs,
+ cs0672.cs: 29 new error tests.
+
2004-03-26 Ben Maurer <bmaurer@users.sourceforge.net>
* do-tests.pl: i think this fixes the problem with
$(wildcard *.cs)
#all-local: run-test-local test-multi-local
-all-local: CS3005-16-lib.dll CS3013-module.dll
+all-local: CS0619-8-lib.dll CS0619-17-lib.dll CS3005-16-lib.dll CS3013-module.dll
test-local:
install-local uninstall-local:
+CS0619-8-lib.dll:
+ $(BOOTSTRAP_MCS) /target:library /out:$@ CS0619-8-lib.cs
+
+CS0619-17-lib.dll:
+ $(BOOTSTRAP_MCS) /target:library /out:$@ CS0619-17-lib.cs
+
CS3005-16-lib.dll:
$(BOOTSTRAP_MCS) /target:library /out:$@ CS3005-16-lib.cs
--- /dev/null
+// cs0029.cs: Cannot implicitly conver type 'Helper*' to 'Obsolete*'
+// Line: 18
+// Compiler options: -unsafe
+
+class Box {
+ public Helper o;
+}
+
+unsafe struct Obsolete {
+}
+
+unsafe struct Helper {}
+
+class MainClass {
+ unsafe public static void Main ()
+ {
+ Box b = new Box ();
+ fixed (Obsolete* p = &b.o)
+ {
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0173.cs: Type of conditional expression can't be determined because there is no implicit conversion between 'int' and '<null>'\r// Line: 29\r\rpublic class MainClass {\r public static void Main() {
+ bool result = false;\r System.Console.WriteLine (result ? 1 : null);\r }\r}\r
--- /dev/null
+// cs0619.cs: 'ObsoleteClass' is obsolete: 'Do not use it'
+// Line: 10
+
+using System;
+
+[Obsolete("Do not use it.", true)]
+class ObsoleteClass {
+}
+
+class C: ObsoleteClass
+{
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteClass' is obsolete: 'Do not use it'
+// Line: 15
+
+using System;
+
+[Obsolete("Do not use it.", true)]
+interface I
+{
+}
+
+class A
+{
+}
+
+class C: A, I
+{
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'I' is obsolete: ''
+// Line: 13
+
+using System;
+
+[Obsolete("", true)]
+interface I
+{
+}
+
+class A
+{
+ int this [I index] {
+ get {
+ return 15;
+ }
+ }
+}
--- /dev/null
+// cs0619.cs: 'Obsolete' is obsolete: ''
+// Line: 11
+
+[System.Obsolete("", true)]
+class Obsolete {
+}
+
+class MainClass {
+ public static void Main ()
+ {
+ System.Type t = typeof (Obsolete);
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'AA' is obsolete: ''
+// Line: 17
+
+class A
+{
+}
+
+[System.Obsolete ("", true)]
+class AA: A
+{
+ public void Foo () {}
+}
+
+class B {
+ public B (A a)
+ {
+ (a as AA).Foo ();
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'Test.Test()' is obsolete: 'Causes an error'
+// Line: 9
+
+using System;
+public class Test
+{
+ [Obsolete ("Causes an error", true)]
+ public Test () {}
+ public Test (bool flag) : this () {}
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'Test_A.Test_A()' is obsolete: 'Causes an error'
+// Line: 13
+
+using System;
+public class Test_A
+{
+ [Obsolete ("Causes an error", true)]
+ public Test_A () {}
+}
+
+public class Test_B: Test_A
+{
+ public Test_B (): base () {}
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteA.ObsoleteA()' is obsolete: 'Obsolete struct'
+// Line: 7
+// Compiler options: -reference:CS0619-17-lib.dll
+
+public class B: ObsoleteA
+{
+ public B (): base () {}
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'Obsolete' is obsolete: '!!!'
+// Line: 9
+
+[System.Obsolete("!!!", true)]
+class Obsolete {
+}
+
+class Class {
+ public void Method (Obsolete[] o)
+ {
+ }
+}
--- /dev/null
+// cs0619.cs: 'MainClass' is obsolete: ''
+// Line: 8
+
+[System.Obsolete("", true)]
+class MainClass {
+ public void Method ()
+ {
+ lock (new MainClass ()) {
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteIface ' is obsolete: 'Do not use it'
+// Line: 12
+
+using System;
+
+[Obsolete("Do not use it.", true)]
+interface ObsoleteIface {
+}
+
+
+interface Ex: ObsoleteIface
+{
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteException' is obsolete: ''
+// Line: 15
+
+using System;
+
+[System.Obsolete("", true)]
+class ObsoleteException: Exception {
+}
+
+class MainClass {
+ public void Method ()
+ {
+ try {
+ }
+ catch (ObsoleteException) {
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'Obsolete' is obsolete: ''
+// Line: 12
+// Compiler options: -unsafe
+
+[System.Obsolete("", true)]
+struct Obsolete {
+}
+
+class MainClass {
+ unsafe public static void Main ()
+ {
+ System.Console.WriteLine (sizeof (Obsolete));
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'AA' is obsolete: ''
+// Line: 12
+
+[System.Obsolete ("", true)]
+class AA
+{
+}
+
+class B {
+ public bool Foo (object b)
+ {
+ return b is AA;
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'AA' is obsolete: ''
+// Line: 17
+
+[System.Obsolete ("", true)]
+class AA
+{
+ public void Foo () {}
+}
+
+class B {
+ public B (object a)
+ {
+ ((AA)a).Foo ();
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'Obsolete' is obsolete: ''
+// Line: 19
+// Compiler options: -unsafe
+
+class Box {
+ public Helper o;
+}
+
+[System.Obsolete("", true)]
+unsafe struct Obsolete {
+}
+
+unsafe struct Helper {}
+
+class MainClass {
+ unsafe public static void Main ()
+ {
+ Box b = new Box ();
+ fixed (Obsolete* p = &b.o)
+ {
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'AA' is obsolete: ''
+// Line: 9
+
+[System.Obsolete ("", true)]
+class AA
+{
+ public AA ()
+ {
+ foreach (AA aa in new System.Collections.ArrayList ()) {
+ System.Console.WriteLine (aa);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'AA' is obsolete: ''
+// Line: 9
+
+[System.Obsolete ("", true)]
+class AA
+{
+ public AA ()
+ {
+ for (AA aa = null; aa != null;) {
+ System.Console.WriteLine (aa);
+ }
+ }
+
+// public static void Main () {}
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteIface ' is obsolete: 'Do not use it'
+// Line: 13
+
+using System;
+
+[Obsolete("Yeah, is obsolete", true)]
+enum ObsoleteEnum
+{
+}
+
+interface Ex
+{
+ ObsoleteEnum Foo ();
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'Obsolete' is obsolete: '!!!'
+// Line: 9
+
+[System.Obsolete("!!!", true)]
+class Obsolete {
+}
+
+class Class {
+ public void Method (Obsolete o)
+ {
+ }
+}
--- /dev/null
+// cs0619.cs: 'A' is obsolete: 'Do not use it'
+// Line: 12
+
+using System;
+
+[Obsolete("Do not use it", true)]
+class A {
+}
+
+class B {
+ static A _a = new A ();
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'A._value' is obsolete: 'Do not use it'
+// Line: 9
+
+class A {
+ [System.Obsolete("Do not use it", true)]
+ int _value;
+
+ public A () {
+ _value = 4;
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteIface ' is obsolete: 'Do not use it'
+// Line: 13
+
+using System;
+
+[Obsolete("Is obsolete", true)]
+class ObsoleteClass
+{
+}
+
+interface Ex
+{
+ void Foo (ObsoleteClass o1, ObsoleteClass o2);
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteStruct ' is obsolete: 'Obsolete struct'
+// Line: 7
+// Compiler options: -reference:CS0619-8-lib.dll
+
+interface I
+{
+ int Foo (int arg1, ObsoleteStruct arg2);
+}
\ No newline at end of file
--- /dev/null
+// cs0619.cs: 'ObsoleteInterface' is obsolete: ''
+// Line: 11
+
+using System;
+
+[Obsolete("", true)]
+interface ObsoleteInterface
+{
+}
+
+delegate ObsoleteInterface @delegate ();
-// cs0619.cs: 'MethodError()' is obsolete: 'Do not use it'\r
-// Line: 17\r
-\r
-class Obsolete {\r
- [System.Obsolete]\r
- public static void MethodWarning() {\r
- }\r
- \r
- [System.Obsolete("Do not use it.", true)]\r
- public static void MethodError() {\r
- }\r
-}\r
-\r
-class MainClass {\r
- public static void Main () {\r
- Obsolete.MethodWarning();\r
- Obsolete.MethodError();\r
- }\r
-}\r
-\r
+// cs0619.cs: 'Obsolete.MethodError()' is obsolete: 'Do not use it'
+// Line: 12
+
+class Obsolete {
+ [System.Obsolete("Do not use it.", true)]
+ public static void MethodError() {
+ }
+}
+
+class MainClass {
+ public static void Main () {
+ Obsolete.MethodError();
+ }
+}
\ No newline at end of file
--- /dev/null
+// cs0672.cs: Member 'B.Test()' overrides obsolete member 'A.Test(). Add the Obsolete attribute to 'B.Test()
+// Line: 14
+
+using System;
+
+public class A
+{
+ [Obsolete ("Causes an error", true)]
+ public virtual void Test () {}
+}
+
+public class B: A
+{
+ public override void Test () {}
+}
+
cs-11.cs
cs-12.cs
cs0029.cs
+cs0029-3.cs
cs0035.cs
cs0065.cs
cs0069.cs
cs0145.cs
cs0149.cs
cs0173.cs
+cs0173-2.cs
cs0186-2.cs
cs0192.cs
cs0197.cs
cs0610.cs
cs0611-2.cs
cs0611.cs
+cs0619.cs
+cs0619-10.cs
+cs0619-11.cs
+cs0619-12.cs
+cs0619-13.cs
+cs0619-14.cs
+cs0619-15.cs
+cs0619-16.cs
+cs0619-17.cs
+cs0619-18.cs
+cs0619-19.cs
+cs0619-2.cs
+cs0619-20.cs
+cs0619-21.cs
+cs0619-22.cs
+cs0619-23.cs
+cs0619-24.cs
+cs0619-25.cs
+cs0619-26.cs
+cs0619-3.cs
+cs0619-4.cs
+cs0619-5.cs
+cs0619-6.cs
+cs0619-7.cs
+cs0619-8.cs
+cs0619-9.cs
cs0654.cs
cs0663.cs
+cs0672.cs
cs0673.cs
cs0676.cs
cs0676.cs
cs8210.cs
cs8213.cs
cs8214.cs
-cs8217.cs
+cs8217.cs
\ No newline at end of file