Updated project.
[mono.git] / mcs / btests / InvocationStatementA.vb
1 Imports Microsoft.VisualBasic\r
2 Imports System\r
3 \r
4 Module InvocationStatementA\r
5     Dim i As Integer = 0\r
6 \r
7     Delegate Function Df(ByVal a As Integer)\r
8 \r
9     Sub f1()\r
10         i += 1\r
11         f2()\r
12     End Sub\r
13 \r
14     Function f2() As Integer\r
15         i += 2\r
16     End Function\r
17 \r
18     Function f2(ByVal i As Integer) As Integer\r
19         i += 5\r
20         Return i\r
21     End Function\r
22 \r
23     Function f2(ByVal o As Object) As Boolean\r
24         Return True\r
25     End Function\r
26 \r
27     Function f3(ByVal j As Integer)\r
28         i += j\r
29     End Function\r
30 \r
31     Function f4(ByVal j As Integer)\r
32         i += j * 10\r
33     End Function\r
34 \r
35     Sub main()\r
36 \r
37         Call f1()\r
38         If i <> 3 Then\r
39             Throw New Exception("#ISB1 - Invocation Statement failed")\r
40         End If\r
41 \r
42         If f2(i) <> 8 Then\r
43             Throw New Exception("#ISB2 - Invocation Statement failed")\r
44         End If\r
45 \r
46         If Not f2("Hello") Then\r
47             Throw New Exception("#ISB3 - Invocation Statement failed")\r
48         End If\r
49 \r
50         If Not f2(2.3D) Then\r
51             Throw New Exception("#ISB4 - Invocation Statement failed")\r
52         End If\r
53 \r
54         Dim d1, d2 As Df\r
55         d1 = New Df(AddressOf f3)\r
56         d2 = New Df(AddressOf f4)\r
57 \r
58         d1.Invoke(2) : d2.Invoke(2)\r
59         If i <> 25 Then\r
60             Throw New Exception("#ISB5 - Invocation Statement failed")\r
61         End If\r
62 \r
63     End Sub\r
64 \r
65 End Module\r