File: 30337.vb

package info (click to toggle)
mono-basic 2.10-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 22,964 kB
  • sloc: cs: 34,086; xml: 7,804; makefile: 471; sh: 317
file content (116 lines) | stat: -rw-r--r-- 2,864 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Imports System
Imports System.Collections
Imports System.Reflection

Namespace For7
    Class IteratorA1
        'Public Shared Operator >=(ByVal op1 As IteratorA1, ByVal op2 As IteratorA1) As IteratorB1

        'End Operator

        'Public Shared Operator <=(ByVal op1 As IteratorA1, ByVal op2 As IteratorA1) As IteratorB1

        'End Operator

        'Public Shared Operator -(ByVal op1 As IteratorA1, ByVal op2 As IteratorA1) As IteratorA1

        'End Operator

        'Public Shared Operator +(ByVal op1 As IteratorA1, ByVal op2 As IteratorA1) As IteratorA1

        'End Operator

    End Class

    Class IteratorA2
        Public Shared Operator >=(ByVal op1 As IteratorA2, ByVal op2 As IteratorA2) As IteratorB2

        End Operator

        Public Shared Operator <=(ByVal op1 As IteratorA2, ByVal op2 As IteratorA2) As IteratorB2

        End Operator

        Public Shared Operator -(ByVal op1 As IteratorA2, ByVal op2 As IteratorA2) As IteratorA2

        End Operator

        Public Shared Operator +(ByVal op1 As IteratorA2, ByVal op2 As IteratorA2) As IteratorA2

        End Operator

    End Class


    Class IteratorA3
        Public Shared Operator >=(ByVal op1 As IteratorA3, ByVal op3 As IteratorA3) As IteratorB3

        End Operator

        Public Shared Operator <=(ByVal op1 As IteratorA3, ByVal op3 As IteratorA3) As IteratorB3

        End Operator

        Public Shared Operator -(ByVal op1 As IteratorA3, ByVal op3 As IteratorA3) As IteratorA3

        End Operator

        Public Shared Operator +(ByVal op1 As IteratorA3, ByVal op3 As IteratorA3) As IteratorA3

        End Operator

    End Class

    Class IteratorB1
        Public Shared Operator IsTrue(ByVal v As IteratorB1) As Boolean
            Return True
        End Operator

        Public Shared Operator IsFalse(ByVal v As IteratorB1) As Boolean
            Return False
        End Operator
    End Class

    Class IteratorB2

        Public Shared Widening Operator CType(ByVal V As IteratorB2) As Boolean
            Return True
        End Operator
    End Class

    Class IteratorB3
        Public Shared Narrowing Operator CType(ByVal V As IteratorB3) As Boolean
            Return True
        End Operator
    End Class

    Class Test
        Shared Function Main() As Integer
            A1()
            A2()
            A3()
        End Function

        Shared Sub A1()
            Dim a As New IteratorA1, b As New IteratorA1
            For i As IteratorA1 = a To b

            Next
        End Sub

        Shared Sub A2()
            Dim a As New IteratorA2, b As New IteratorA2
            For k As Object = a To b

            Next
        End Sub

        Shared Sub A3()
            Dim a As New IteratorA3, b As New IteratorA3
            For i As Object = a To b

            Next
        End Sub

    End Class
End Namespace