[Mono-patches] r72754 - trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices

Rolf Bjarne Kvinge (rolfkvinge@ya.com) mono-patches-list at lists.ximian.com
Tue Feb 13 06:56:45 EST 2007


Author: rolf
Date: 2007-02-13 06:56:44 -0500 (Tue, 13 Feb 2007)
New Revision: 72754

Added:
   trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/TypeCombinations.vb
Modified:
   trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/ChangeLog
   trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Operators.vb
Log:
* Operators.vb: Implemented CompareObjectEqual partially.
* TypeCombinations.vb: Added a enum of all combinations of TypeCodes.

Modified: trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/ChangeLog
===================================================================
--- trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/ChangeLog	2007-02-13 11:51:39 UTC (rev 72753)
+++ trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/ChangeLog	2007-02-13 11:56:44 UTC (rev 72754)
@@ -1,3 +1,8 @@
+2007-02-13  Rolf Bjarne Kvinge <RKvinge at novell.com> 
+
+	* Operators.vb: Implemented CompareObjectEqual partially.
+	* TypeCombinations.vb: Added a enum of all combinations of TypeCodes.
+
 2007-01-24  Rolf Bjarne Kvinge  <RKvinge at novell.com>
 
 	* IntegerType.vb: SByte, UInt16, UInt32 and UInt64 to 

Modified: trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Operators.vb
===================================================================
--- trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Operators.vb	2007-02-13 11:51:39 UTC (rev 72753)
+++ trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Operators.vb	2007-02-13 11:56:44 UTC (rev 72754)
@@ -32,6 +32,132 @@
 Imports System
 Namespace Microsoft.VisualBasic.CompilerServices
     Public Class Operators
+        Private Shared Function CompareBoolean(ByVal Left As Boolean, ByVal Right As Boolean) As Integer
+            If Left = Right Then Return 0
+            If Left < Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareByte(ByVal Left As Byte, ByVal Right As Byte) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareChar(ByVal Left As Char, ByVal Right As Char) As Integer
+            If Left = Right Then Return 0
+            If Left < Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareDate(ByVal Left As Date, ByVal Right As Date) As Integer
+            Return DateTime.Compare(Left, Right)
+        End Function
+
+        Private Shared Function CompareDecimal(ByVal Left As Decimal, ByVal Right As Decimal) As Integer
+            Return Decimal.Compare(Left, Right)
+        End Function
+
+        Private Shared Function CompareDouble(ByVal Left As Double, ByVal Right As Double) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareInt16(ByVal Left As Int16, ByVal Right As Int16) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareInt32(ByVal Left As Int32, ByVal Right As Int32) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareInt64(ByVal Left As Int64, ByVal Right As Int64) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareSByte(ByVal Left As SByte, ByVal Right As SByte) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareSingle(ByVal Left As Single, ByVal Right As Single) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareUInt16(ByVal Left As UInt16, ByVal Right As UInt16) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareUInt32(ByVal Left As UInt32, ByVal Right As UInt32) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
+        Private Shared Function CompareUInt64(ByVal Left As UInt64, ByVal Right As UInt64) As Integer
+            If Left = Right Then
+                Return 0
+            ElseIf Left > Right Then
+                Return 1
+            Else
+                Return -1
+            End If
+        End Function
+
         Public Shared Function AddObject(ByVal Left As Object, ByVal Right As Object) As Object
             Throw New NotImplementedException
         End Function
@@ -42,6 +168,66 @@
             Throw New NotImplementedException
         End Function
         Public Shared Function CompareObjectEqual(ByVal Left As Object, ByVal Right As Object, ByVal TextCompare As Boolean) As Object
+            Dim codeLeft, codeRight As TypeCode
+            Const codeNothing As TypeCode = TypeCode.Empty
+
+            If Left Is Nothing Then
+                codeLeft = codeNothing
+            Else
+                codeLeft = Type.GetTypeCode(Left.GetType)
+            End If
+            If Right Is Nothing Then
+                codeRight = codeNothing
+            Else
+                codeRight = Type.GetTypeCode(Right.GetType)
+            End If
+
+            If codeRight = codeNothing AndAlso codeLeft = codeNothing Then Return 0
+
+            If codeRight = codeLeft Then
+                Select Case codeLeft
+                    Case TypeCode.Boolean
+                        Return CompareBoolean(CBool(Left), CBool(Right))
+                    Case TypeCode.Byte
+                        Return CompareByte(CByte(Left), CByte(Right))
+                    Case TypeCode.Char
+                        Return CompareChar(CChar(Left), CChar(Right))
+                    Case TypeCode.DateTime
+                        Return CompareDate(CDate(Left), CDate(Right))
+                    Case TypeCode.Decimal
+                        Return CompareDecimal(CDec(Left), CDec(Right))
+                    Case TypeCode.Double
+                        Return CompareDouble(CDbl(Left), CDbl(Right))
+                    Case TypeCode.Int16
+                        Return CompareInt16(CShort(Left), CShort(Right))
+                    Case TypeCode.Int32
+                        Return CompareInt32(CInt(Left), CInt(Right))
+                    Case TypeCode.Int64
+                        Return CompareInt64(CLng(Left), CLng(Right))
+                    Case TypeCode.SByte
+                        Return CompareSByte(CSByte(Left), CSByte(Right))
+                    Case TypeCode.Single
+                        Return CompareSingle(CSng(Left), CSng(Right))
+                    Case TypeCode.String
+                        Return CompareString(CStr(Left), CStr(Right), TextCompare)
+                    Case TypeCode.UInt16
+                        Return CompareUInt16(CUShort(Left), CUShort(Right))
+                    Case TypeCode.UInt32
+                        Return CompareUInt32(CUInt(Left), CUInt(Right))
+                    Case TypeCode.UInt64
+                        Return CompareUInt64(CULng(Left), CULng(Right))
+                    Case TypeCode.Object
+                        Throw New NotImplementedException
+                    Case TypeCode.DBNull
+                        Throw New NotImplementedException
+                End Select
+            End If
+
+            Select Case CType(codeLeft << TypeCombinations.SHIFT Or codeRight, TypeCombinations)
+                Case TypeCombinations.Boolean_String
+                    Return CompareBoolean(CBool(Left), Conversions.ToBoolean(Right))
+            End Select
+
             Throw New NotImplementedException
         End Function
         Public Shared Function CompareObjectGreater(ByVal Left As Object, ByVal Right As Object, ByVal TextCompare As Boolean) As Object

Added: trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/TypeCombinations.vb
===================================================================
--- trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/TypeCombinations.vb	2007-02-13 11:51:39 UTC (rev 72753)
+++ trunk/mono-basic/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/TypeCombinations.vb	2007-02-13 11:56:44 UTC (rev 72754)
@@ -0,0 +1,357 @@
+'
+' TypeCombinations.vb
+'
+' Author:
+'   Rolf Bjarne Kvinge  (RKvinge at novell.com)
+
+'
+' Copyright (C) 2007 Novell, Inc (http://www.novell.com)
+'
+' Permission is hereby granted, free of charge, to any person obtaining
+' a copy of this software and associated documentation files (the
+' "Software"), to deal in the Software without restriction, including
+' without limitation the rights to use, copy, modify, merge, publish,
+' distribute, sublicense, and/or sell copies of the Software, and to
+' permit persons to whom the Software is furnished to do so, subject to
+' the following conditions:
+' 
+' The above copyright notice and this permission notice shall be
+' included in all copies or substantial portions of the Software.
+' 
+' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+' MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+' LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+' OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+' WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Namespace Microsoft.VisualBasic.CompilerServices
+    Friend Enum TypeCombinations
+        SHIFT = 16
+        Empty_Empty = TypeCode.Empty << SHIFT Or TypeCode.Empty
+        Empty_Object = TypeCode.Empty << SHIFT Or TypeCode.Object
+        Empty_DBNull = TypeCode.Empty << SHIFT Or TypeCode.DBNull
+        Empty_Boolean = TypeCode.Empty << SHIFT Or TypeCode.Boolean
+        Empty_Char = TypeCode.Empty << SHIFT Or TypeCode.Char
+        Empty_SByte = TypeCode.Empty << SHIFT Or TypeCode.SByte
+        Empty_Byte = TypeCode.Empty << SHIFT Or TypeCode.Byte
+        Empty_Int16 = TypeCode.Empty << SHIFT Or TypeCode.Int16
+        Empty_UInt16 = TypeCode.Empty << SHIFT Or TypeCode.UInt16
+        Empty_Int32 = TypeCode.Empty << SHIFT Or TypeCode.Int32
+        Empty_UInt32 = TypeCode.Empty << SHIFT Or TypeCode.UInt32
+        Empty_Int64 = TypeCode.Empty << SHIFT Or TypeCode.Int64
+        Empty_UInt64 = TypeCode.Empty << SHIFT Or TypeCode.UInt64
+        Empty_Single = TypeCode.Empty << SHIFT Or TypeCode.Single
+        Empty_Double = TypeCode.Empty << SHIFT Or TypeCode.Double
+        Empty_Decimal = TypeCode.Empty << SHIFT Or TypeCode.Decimal
+        Empty_DateTime = TypeCode.Empty << SHIFT Or TypeCode.DateTime
+        Empty_String = TypeCode.Empty << SHIFT Or TypeCode.String
+        Object_Empty = TypeCode.Object << SHIFT Or TypeCode.Empty
+        Object_Object = TypeCode.Object << SHIFT Or TypeCode.Object
+        Object_DBNull = TypeCode.Object << SHIFT Or TypeCode.DBNull
+        Object_Boolean = TypeCode.Object << SHIFT Or TypeCode.Boolean
+        Object_Char = TypeCode.Object << SHIFT Or TypeCode.Char
+        Object_SByte = TypeCode.Object << SHIFT Or TypeCode.SByte
+        Object_Byte = TypeCode.Object << SHIFT Or TypeCode.Byte
+        Object_Int16 = TypeCode.Object << SHIFT Or TypeCode.Int16
+        Object_UInt16 = TypeCode.Object << SHIFT Or TypeCode.UInt16
+        Object_Int32 = TypeCode.Object << SHIFT Or TypeCode.Int32
+        Object_UInt32 = TypeCode.Object << SHIFT Or TypeCode.UInt32
+        Object_Int64 = TypeCode.Object << SHIFT Or TypeCode.Int64
+        Object_UInt64 = TypeCode.Object << SHIFT Or TypeCode.UInt64
+        Object_Single = TypeCode.Object << SHIFT Or TypeCode.Single
+        Object_Double = TypeCode.Object << SHIFT Or TypeCode.Double
+        Object_Decimal = TypeCode.Object << SHIFT Or TypeCode.Decimal
+        Object_DateTime = TypeCode.Object << SHIFT Or TypeCode.DateTime
+        Object_String = TypeCode.Object << SHIFT Or TypeCode.String
+        DBNull_Empty = TypeCode.DBNull << SHIFT Or TypeCode.Empty
+        DBNull_Object = TypeCode.DBNull << SHIFT Or TypeCode.Object
+        DBNull_DBNull = TypeCode.DBNull << SHIFT Or TypeCode.DBNull
+        DBNull_Boolean = TypeCode.DBNull << SHIFT Or TypeCode.Boolean
+        DBNull_Char = TypeCode.DBNull << SHIFT Or TypeCode.Char
+        DBNull_SByte = TypeCode.DBNull << SHIFT Or TypeCode.SByte
+        DBNull_Byte = TypeCode.DBNull << SHIFT Or TypeCode.Byte
+        DBNull_Int16 = TypeCode.DBNull << SHIFT Or TypeCode.Int16
+        DBNull_UInt16 = TypeCode.DBNull << SHIFT Or TypeCode.UInt16
+        DBNull_Int32 = TypeCode.DBNull << SHIFT Or TypeCode.Int32
+        DBNull_UInt32 = TypeCode.DBNull << SHIFT Or TypeCode.UInt32
+        DBNull_Int64 = TypeCode.DBNull << SHIFT Or TypeCode.Int64
+        DBNull_UInt64 = TypeCode.DBNull << SHIFT Or TypeCode.UInt64
+        DBNull_Single = TypeCode.DBNull << SHIFT Or TypeCode.Single
+        DBNull_Double = TypeCode.DBNull << SHIFT Or TypeCode.Double
+        DBNull_Decimal = TypeCode.DBNull << SHIFT Or TypeCode.Decimal
+        DBNull_DateTime = TypeCode.DBNull << SHIFT Or TypeCode.DateTime
+        DBNull_String = TypeCode.DBNull << SHIFT Or TypeCode.String
+        Boolean_Empty = TypeCode.Boolean << SHIFT Or TypeCode.Empty
+        Boolean_Object = TypeCode.Boolean << SHIFT Or TypeCode.Object
+        Boolean_DBNull = TypeCode.Boolean << SHIFT Or TypeCode.DBNull
+        Boolean_Boolean = TypeCode.Boolean << SHIFT Or TypeCode.Boolean
+        Boolean_Char = TypeCode.Boolean << SHIFT Or TypeCode.Char
+        Boolean_SByte = TypeCode.Boolean << SHIFT Or TypeCode.SByte
+        Boolean_Byte = TypeCode.Boolean << SHIFT Or TypeCode.Byte
+        Boolean_Int16 = TypeCode.Boolean << SHIFT Or TypeCode.Int16
+        Boolean_UInt16 = TypeCode.Boolean << SHIFT Or TypeCode.UInt16
+        Boolean_Int32 = TypeCode.Boolean << SHIFT Or TypeCode.Int32
+        Boolean_UInt32 = TypeCode.Boolean << SHIFT Or TypeCode.UInt32
+        Boolean_Int64 = TypeCode.Boolean << SHIFT Or TypeCode.Int64
+        Boolean_UInt64 = TypeCode.Boolean << SHIFT Or TypeCode.UInt64
+        Boolean_Single = TypeCode.Boolean << SHIFT Or TypeCode.Single
+        Boolean_Double = TypeCode.Boolean << SHIFT Or TypeCode.Double
+        Boolean_Decimal = TypeCode.Boolean << SHIFT Or TypeCode.Decimal
+        Boolean_DateTime = TypeCode.Boolean << SHIFT Or TypeCode.DateTime
+        Boolean_String = TypeCode.Boolean << SHIFT Or TypeCode.String
+        Char_Empty = TypeCode.Char << SHIFT Or TypeCode.Empty
+        Char_Object = TypeCode.Char << SHIFT Or TypeCode.Object
+        Char_DBNull = TypeCode.Char << SHIFT Or TypeCode.DBNull
+        Char_Boolean = TypeCode.Char << SHIFT Or TypeCode.Boolean
+        Char_Char = TypeCode.Char << SHIFT Or TypeCode.Char
+        Char_SByte = TypeCode.Char << SHIFT Or TypeCode.SByte
+        Char_Byte = TypeCode.Char << SHIFT Or TypeCode.Byte
+        Char_Int16 = TypeCode.Char << SHIFT Or TypeCode.Int16
+        Char_UInt16 = TypeCode.Char << SHIFT Or TypeCode.UInt16
+        Char_Int32 = TypeCode.Char << SHIFT Or TypeCode.Int32
+        Char_UInt32 = TypeCode.Char << SHIFT Or TypeCode.UInt32
+        Char_Int64 = TypeCode.Char << SHIFT Or TypeCode.Int64
+        Char_UInt64 = TypeCode.Char << SHIFT Or TypeCode.UInt64
+        Char_Single = TypeCode.Char << SHIFT Or TypeCode.Single
+        Char_Double = TypeCode.Char << SHIFT Or TypeCode.Double
+        Char_Decimal = TypeCode.Char << SHIFT Or TypeCode.Decimal
+        Char_DateTime = TypeCode.Char << SHIFT Or TypeCode.DateTime
+        Char_String = TypeCode.Char << SHIFT Or TypeCode.String
+        SByte_Empty = TypeCode.SByte << SHIFT Or TypeCode.Empty
+        SByte_Object = TypeCode.SByte << SHIFT Or TypeCode.Object
+        SByte_DBNull = TypeCode.SByte << SHIFT Or TypeCode.DBNull
+        SByte_Boolean = TypeCode.SByte << SHIFT Or TypeCode.Boolean
+        SByte_Char = TypeCode.SByte << SHIFT Or TypeCode.Char
+        SByte_SByte = TypeCode.SByte << SHIFT Or TypeCode.SByte
+        SByte_Byte = TypeCode.SByte << SHIFT Or TypeCode.Byte
+        SByte_Int16 = TypeCode.SByte << SHIFT Or TypeCode.Int16
+        SByte_UInt16 = TypeCode.SByte << SHIFT Or TypeCode.UInt16
+        SByte_Int32 = TypeCode.SByte << SHIFT Or TypeCode.Int32
+        SByte_UInt32 = TypeCode.SByte << SHIFT Or TypeCode.UInt32
+        SByte_Int64 = TypeCode.SByte << SHIFT Or TypeCode.Int64
+        SByte_UInt64 = TypeCode.SByte << SHIFT Or TypeCode.UInt64
+        SByte_Single = TypeCode.SByte << SHIFT Or TypeCode.Single
+        SByte_Double = TypeCode.SByte << SHIFT Or TypeCode.Double
+        SByte_Decimal = TypeCode.SByte << SHIFT Or TypeCode.Decimal
+        SByte_DateTime = TypeCode.SByte << SHIFT Or TypeCode.DateTime
+        SByte_String = TypeCode.SByte << SHIFT Or TypeCode.String
+        Byte_Empty = TypeCode.Byte << SHIFT Or TypeCode.Empty
+        Byte_Object = TypeCode.Byte << SHIFT Or TypeCode.Object
+        Byte_DBNull = TypeCode.Byte << SHIFT Or TypeCode.DBNull
+        Byte_Boolean = TypeCode.Byte << SHIFT Or TypeCode.Boolean
+        Byte_Char = TypeCode.Byte << SHIFT Or TypeCode.Char
+        Byte_SByte = TypeCode.Byte << SHIFT Or TypeCode.SByte
+        Byte_Byte = TypeCode.Byte << SHIFT Or TypeCode.Byte
+        Byte_Int16 = TypeCode.Byte << SHIFT Or TypeCode.Int16
+        Byte_UInt16 = TypeCode.Byte << SHIFT Or TypeCode.UInt16
+        Byte_Int32 = TypeCode.Byte << SHIFT Or TypeCode.Int32
+        Byte_UInt32 = TypeCode.Byte << SHIFT Or TypeCode.UInt32
+        Byte_Int64 = TypeCode.Byte << SHIFT Or TypeCode.Int64
+        Byte_UInt64 = TypeCode.Byte << SHIFT Or TypeCode.UInt64
+        Byte_Single = TypeCode.Byte << SHIFT Or TypeCode.Single
+        Byte_Double = TypeCode.Byte << SHIFT Or TypeCode.Double
+        Byte_Decimal = TypeCode.Byte << SHIFT Or TypeCode.Decimal
+        Byte_DateTime = TypeCode.Byte << SHIFT Or TypeCode.DateTime
+        Byte_String = TypeCode.Byte << SHIFT Or TypeCode.String
+        Int16_Empty = TypeCode.Int16 << SHIFT Or TypeCode.Empty
+        Int16_Object = TypeCode.Int16 << SHIFT Or TypeCode.Object
+        Int16_DBNull = TypeCode.Int16 << SHIFT Or TypeCode.DBNull
+        Int16_Boolean = TypeCode.Int16 << SHIFT Or TypeCode.Boolean
+        Int16_Char = TypeCode.Int16 << SHIFT Or TypeCode.Char
+        Int16_SByte = TypeCode.Int16 << SHIFT Or TypeCode.SByte
+        Int16_Byte = TypeCode.Int16 << SHIFT Or TypeCode.Byte
+        Int16_Int16 = TypeCode.Int16 << SHIFT Or TypeCode.Int16
+        Int16_UInt16 = TypeCode.Int16 << SHIFT Or TypeCode.UInt16
+        Int16_Int32 = TypeCode.Int16 << SHIFT Or TypeCode.Int32
+        Int16_UInt32 = TypeCode.Int16 << SHIFT Or TypeCode.UInt32
+        Int16_Int64 = TypeCode.Int16 << SHIFT Or TypeCode.Int64
+        Int16_UInt64 = TypeCode.Int16 << SHIFT Or TypeCode.UInt64
+        Int16_Single = TypeCode.Int16 << SHIFT Or TypeCode.Single
+        Int16_Double = TypeCode.Int16 << SHIFT Or TypeCode.Double
+        Int16_Decimal = TypeCode.Int16 << SHIFT Or TypeCode.Decimal
+        Int16_DateTime = TypeCode.Int16 << SHIFT Or TypeCode.DateTime
+        Int16_String = TypeCode.Int16 << SHIFT Or TypeCode.String
+        UInt16_Empty = TypeCode.UInt16 << SHIFT Or TypeCode.Empty
+        UInt16_Object = TypeCode.UInt16 << SHIFT Or TypeCode.Object
+        UInt16_DBNull = TypeCode.UInt16 << SHIFT Or TypeCode.DBNull
+        UInt16_Boolean = TypeCode.UInt16 << SHIFT Or TypeCode.Boolean
+        UInt16_Char = TypeCode.UInt16 << SHIFT Or TypeCode.Char
+        UInt16_SByte = TypeCode.UInt16 << SHIFT Or TypeCode.SByte
+        UInt16_Byte = TypeCode.UInt16 << SHIFT Or TypeCode.Byte
+        UInt16_Int16 = TypeCode.UInt16 << SHIFT Or TypeCode.Int16
+        UInt16_UInt16 = TypeCode.UInt16 << SHIFT Or TypeCode.UInt16
+        UInt16_Int32 = TypeCode.UInt16 << SHIFT Or TypeCode.Int32
+        UInt16_UInt32 = TypeCode.UInt16 << SHIFT Or TypeCode.UInt32
+        UInt16_Int64 = TypeCode.UInt16 << SHIFT Or TypeCode.Int64
+        UInt16_UInt64 = TypeCode.UInt16 << SHIFT Or TypeCode.UInt64
+        UInt16_Single = TypeCode.UInt16 << SHIFT Or TypeCode.Single
+        UInt16_Double = TypeCode.UInt16 << SHIFT Or TypeCode.Double
+        UInt16_Decimal = TypeCode.UInt16 << SHIFT Or TypeCode.Decimal
+        UInt16_DateTime = TypeCode.UInt16 << SHIFT Or TypeCode.DateTime
+        UInt16_String = TypeCode.UInt16 << SHIFT Or TypeCode.String
+        Int32_Empty = TypeCode.Int32 << SHIFT Or TypeCode.Empty
+        Int32_Object = TypeCode.Int32 << SHIFT Or TypeCode.Object
+        Int32_DBNull = TypeCode.Int32 << SHIFT Or TypeCode.DBNull
+        Int32_Boolean = TypeCode.Int32 << SHIFT Or TypeCode.Boolean
+        Int32_Char = TypeCode.Int32 << SHIFT Or TypeCode.Char
+        Int32_SByte = TypeCode.Int32 << SHIFT Or TypeCode.SByte
+        Int32_Byte = TypeCode.Int32 << SHIFT Or TypeCode.Byte
+        Int32_Int16 = TypeCode.Int32 << SHIFT Or TypeCode.Int16
+        Int32_UInt16 = TypeCode.Int32 << SHIFT Or TypeCode.UInt16
+        Int32_Int32 = TypeCode.Int32 << SHIFT Or TypeCode.Int32
+        Int32_UInt32 = TypeCode.Int32 << SHIFT Or TypeCode.UInt32
+        Int32_Int64 = TypeCode.Int32 << SHIFT Or TypeCode.Int64
+        Int32_UInt64 = TypeCode.Int32 << SHIFT Or TypeCode.UInt64
+        Int32_Single = TypeCode.Int32 << SHIFT Or TypeCode.Single
+        Int32_Double = TypeCode.Int32 << SHIFT Or TypeCode.Double
+        Int32_Decimal = TypeCode.Int32 << SHIFT Or TypeCode.Decimal
+        Int32_DateTime = TypeCode.Int32 << SHIFT Or TypeCode.DateTime
+        Int32_String = TypeCode.Int32 << SHIFT Or TypeCode.String
+        UInt32_Empty = TypeCode.UInt32 << SHIFT Or TypeCode.Empty
+        UInt32_Object = TypeCode.UInt32 << SHIFT Or TypeCode.Object
+        UInt32_DBNull = TypeCode.UInt32 << SHIFT Or TypeCode.DBNull
+        UInt32_Boolean = TypeCode.UInt32 << SHIFT Or TypeCode.Boolean
+        UInt32_Char = TypeCode.UInt32 << SHIFT Or TypeCode.Char
+        UInt32_SByte = TypeCode.UInt32 << SHIFT Or TypeCode.SByte
+        UInt32_Byte = TypeCode.UInt32 << SHIFT Or TypeCode.Byte
+        UInt32_Int16 = TypeCode.UInt32 << SHIFT Or TypeCode.Int16
+        UInt32_UInt16 = TypeCode.UInt32 << SHIFT Or TypeCode.UInt16
+        UInt32_Int32 = TypeCode.UInt32 << SHIFT Or TypeCode.Int32
+        UInt32_UInt32 = TypeCode.UInt32 << SHIFT Or TypeCode.UInt32
+        UInt32_Int64 = TypeCode.UInt32 << SHIFT Or TypeCode.Int64
+        UInt32_UInt64 = TypeCode.UInt32 << SHIFT Or TypeCode.UInt64
+        UInt32_Single = TypeCode.UInt32 << SHIFT Or TypeCode.Single
+        UInt32_Double = TypeCode.UInt32 << SHIFT Or TypeCode.Double
+        UInt32_Decimal = TypeCode.UInt32 << SHIFT Or TypeCode.Decimal
+        UInt32_DateTime = TypeCode.UInt32 << SHIFT Or TypeCode.DateTime
+        UInt32_String = TypeCode.UInt32 << SHIFT Or TypeCode.String
+        Int64_Empty = TypeCode.Int64 << SHIFT Or TypeCode.Empty
+        Int64_Object = TypeCode.Int64 << SHIFT Or TypeCode.Object
+        Int64_DBNull = TypeCode.Int64 << SHIFT Or TypeCode.DBNull
+        Int64_Boolean = TypeCode.Int64 << SHIFT Or TypeCode.Boolean
+        Int64_Char = TypeCode.Int64 << SHIFT Or TypeCode.Char
+        Int64_SByte = TypeCode.Int64 << SHIFT Or TypeCode.SByte
+        Int64_Byte = TypeCode.Int64 << SHIFT Or TypeCode.Byte
+        Int64_Int16 = TypeCode.Int64 << SHIFT Or TypeCode.Int16
+        Int64_UInt16 = TypeCode.Int64 << SHIFT Or TypeCode.UInt16
+        Int64_Int32 = TypeCode.Int64 << SHIFT Or TypeCode.Int32
+        Int64_UInt32 = TypeCode.Int64 << SHIFT Or TypeCode.UInt32
+        Int64_Int64 = TypeCode.Int64 << SHIFT Or TypeCode.Int64
+        Int64_UInt64 = TypeCode.Int64 << SHIFT Or TypeCode.UInt64
+        Int64_Single = TypeCode.Int64 << SHIFT Or TypeCode.Single
+        Int64_Double = TypeCode.Int64 << SHIFT Or TypeCode.Double
+        Int64_Decimal = TypeCode.Int64 << SHIFT Or TypeCode.Decimal
+        Int64_DateTime = TypeCode.Int64 << SHIFT Or TypeCode.DateTime
+        Int64_String = TypeCode.Int64 << SHIFT Or TypeCode.String
+        UInt64_Empty = TypeCode.UInt64 << SHIFT Or TypeCode.Empty
+        UInt64_Object = TypeCode.UInt64 << SHIFT Or TypeCode.Object
+        UInt64_DBNull = TypeCode.UInt64 << SHIFT Or TypeCode.DBNull
+        UInt64_Boolean = TypeCode.UInt64 << SHIFT Or TypeCode.Boolean
+        UInt64_Char = TypeCode.UInt64 << SHIFT Or TypeCode.Char
+        UInt64_SByte = TypeCode.UInt64 << SHIFT Or TypeCode.SByte
+        UInt64_Byte = TypeCode.UInt64 << SHIFT Or TypeCode.Byte
+        UInt64_Int16 = TypeCode.UInt64 << SHIFT Or TypeCode.Int16
+        UInt64_UInt16 = TypeCode.UInt64 << SHIFT Or TypeCode.UInt16
+        UInt64_Int32 = TypeCode.UInt64 << SHIFT Or TypeCode.Int32
+        UInt64_UInt32 = TypeCode.UInt64 << SHIFT Or TypeCode.UInt32
+        UInt64_Int64 = TypeCode.UInt64 << SHIFT Or TypeCode.Int64
+        UInt64_UInt64 = TypeCode.UInt64 << SHIFT Or TypeCode.UInt64
+        UInt64_Single = TypeCode.UInt64 << SHIFT Or TypeCode.Single
+        UInt64_Double = TypeCode.UInt64 << SHIFT Or TypeCode.Double
+        UInt64_Decimal = TypeCode.UInt64 << SHIFT Or TypeCode.Decimal
+        UInt64_DateTime = TypeCode.UInt64 << SHIFT Or TypeCode.DateTime
+        UInt64_String = TypeCode.UInt64 << SHIFT Or TypeCode.String
+        Single_Empty = TypeCode.Single << SHIFT Or TypeCode.Empty
+        Single_Object = TypeCode.Single << SHIFT Or TypeCode.Object
+        Single_DBNull = TypeCode.Single << SHIFT Or TypeCode.DBNull
+        Single_Boolean = TypeCode.Single << SHIFT Or TypeCode.Boolean
+        Single_Char = TypeCode.Single << SHIFT Or TypeCode.Char
+        Single_SByte = TypeCode.Single << SHIFT Or TypeCode.SByte
+        Single_Byte = TypeCode.Single << SHIFT Or TypeCode.Byte
+        Single_Int16 = TypeCode.Single << SHIFT Or TypeCode.Int16
+        Single_UInt16 = TypeCode.Single << SHIFT Or TypeCode.UInt16
+        Single_Int32 = TypeCode.Single << SHIFT Or TypeCode.Int32
+        Single_UInt32 = TypeCode.Single << SHIFT Or TypeCode.UInt32
+        Single_Int64 = TypeCode.Single << SHIFT Or TypeCode.Int64
+        Single_UInt64 = TypeCode.Single << SHIFT Or TypeCode.UInt64
+        Single_Single = TypeCode.Single << SHIFT Or TypeCode.Single
+        Single_Double = TypeCode.Single << SHIFT Or TypeCode.Double
+        Single_Decimal = TypeCode.Single << SHIFT Or TypeCode.Decimal
+        Single_DateTime = TypeCode.Single << SHIFT Or TypeCode.DateTime
+        Single_String = TypeCode.Single << SHIFT Or TypeCode.String
+        Double_Empty = TypeCode.Double << SHIFT Or TypeCode.Empty
+        Double_Object = TypeCode.Double << SHIFT Or TypeCode.Object
+        Double_DBNull = TypeCode.Double << SHIFT Or TypeCode.DBNull
+        Double_Boolean = TypeCode.Double << SHIFT Or TypeCode.Boolean
+        Double_Char = TypeCode.Double << SHIFT Or TypeCode.Char
+        Double_SByte = TypeCode.Double << SHIFT Or TypeCode.SByte
+        Double_Byte = TypeCode.Double << SHIFT Or TypeCode.Byte
+        Double_Int16 = TypeCode.Double << SHIFT Or TypeCode.Int16
+        Double_UInt16 = TypeCode.Double << SHIFT Or TypeCode.UInt16
+        Double_Int32 = TypeCode.Double << SHIFT Or TypeCode.Int32
+        Double_UInt32 = TypeCode.Double << SHIFT Or TypeCode.UInt32
+        Double_Int64 = TypeCode.Double << SHIFT Or TypeCode.Int64
+        Double_UInt64 = TypeCode.Double << SHIFT Or TypeCode.UInt64
+        Double_Single = TypeCode.Double << SHIFT Or TypeCode.Single
+        Double_Double = TypeCode.Double << SHIFT Or TypeCode.Double
+        Double_Decimal = TypeCode.Double << SHIFT Or TypeCode.Decimal
+        Double_DateTime = TypeCode.Double << SHIFT Or TypeCode.DateTime
+        Double_String = TypeCode.Double << SHIFT Or TypeCode.String
+        Decimal_Empty = TypeCode.Decimal << SHIFT Or TypeCode.Empty
+        Decimal_Object = TypeCode.Decimal << SHIFT Or TypeCode.Object
+        Decimal_DBNull = TypeCode.Decimal << SHIFT Or TypeCode.DBNull
+        Decimal_Boolean = TypeCode.Decimal << SHIFT Or TypeCode.Boolean
+        Decimal_Char = TypeCode.Decimal << SHIFT Or TypeCode.Char
+        Decimal_SByte = TypeCode.Decimal << SHIFT Or TypeCode.SByte
+        Decimal_Byte = TypeCode.Decimal << SHIFT Or TypeCode.Byte
+        Decimal_Int16 = TypeCode.Decimal << SHIFT Or TypeCode.Int16
+        Decimal_UInt16 = TypeCode.Decimal << SHIFT Or TypeCode.UInt16
+        Decimal_Int32 = TypeCode.Decimal << SHIFT Or TypeCode.Int32
+        Decimal_UInt32 = TypeCode.Decimal << SHIFT Or TypeCode.UInt32
+        Decimal_Int64 = TypeCode.Decimal << SHIFT Or TypeCode.Int64
+        Decimal_UInt64 = TypeCode.Decimal << SHIFT Or TypeCode.UInt64
+        Decimal_Single = TypeCode.Decimal << SHIFT Or TypeCode.Single
+        Decimal_Double = TypeCode.Decimal << SHIFT Or TypeCode.Double
+        Decimal_Decimal = TypeCode.Decimal << SHIFT Or TypeCode.Decimal
+        Decimal_DateTime = TypeCode.Decimal << SHIFT Or TypeCode.DateTime
+        Decimal_String = TypeCode.Decimal << SHIFT Or TypeCode.String
+        DateTime_Empty = TypeCode.DateTime << SHIFT Or TypeCode.Empty
+        DateTime_Object = TypeCode.DateTime << SHIFT Or TypeCode.Object
+        DateTime_DBNull = TypeCode.DateTime << SHIFT Or TypeCode.DBNull
+        DateTime_Boolean = TypeCode.DateTime << SHIFT Or TypeCode.Boolean
+        DateTime_Char = TypeCode.DateTime << SHIFT Or TypeCode.Char
+        DateTime_SByte = TypeCode.DateTime << SHIFT Or TypeCode.SByte
+        DateTime_Byte = TypeCode.DateTime << SHIFT Or TypeCode.Byte
+        DateTime_Int16 = TypeCode.DateTime << SHIFT Or TypeCode.Int16
+        DateTime_UInt16 = TypeCode.DateTime << SHIFT Or TypeCode.UInt16
+        DateTime_Int32 = TypeCode.DateTime << SHIFT Or TypeCode.Int32
+        DateTime_UInt32 = TypeCode.DateTime << SHIFT Or TypeCode.UInt32
+        DateTime_Int64 = TypeCode.DateTime << SHIFT Or TypeCode.Int64
+        DateTime_UInt64 = TypeCode.DateTime << SHIFT Or TypeCode.UInt64
+        DateTime_Single = TypeCode.DateTime << SHIFT Or TypeCode.Single
+        DateTime_Double = TypeCode.DateTime << SHIFT Or TypeCode.Double
+        DateTime_Decimal = TypeCode.DateTime << SHIFT Or TypeCode.Decimal
+        DateTime_DateTime = TypeCode.DateTime << SHIFT Or TypeCode.DateTime
+        DateTime_String = TypeCode.DateTime << SHIFT Or TypeCode.String
+        String_Empty = TypeCode.String << SHIFT Or TypeCode.Empty
+        String_Object = TypeCode.String << SHIFT Or TypeCode.Object
+        String_DBNull = TypeCode.String << SHIFT Or TypeCode.DBNull
+        String_Boolean = TypeCode.String << SHIFT Or TypeCode.Boolean
+        String_Char = TypeCode.String << SHIFT Or TypeCode.Char
+        String_SByte = TypeCode.String << SHIFT Or TypeCode.SByte
+        String_Byte = TypeCode.String << SHIFT Or TypeCode.Byte
+        String_Int16 = TypeCode.String << SHIFT Or TypeCode.Int16
+        String_UInt16 = TypeCode.String << SHIFT Or TypeCode.UInt16
+        String_Int32 = TypeCode.String << SHIFT Or TypeCode.Int32
+        String_UInt32 = TypeCode.String << SHIFT Or TypeCode.UInt32
+        String_Int64 = TypeCode.String << SHIFT Or TypeCode.Int64
+        String_UInt64 = TypeCode.String << SHIFT Or TypeCode.UInt64
+        String_Single = TypeCode.String << SHIFT Or TypeCode.Single
+        String_Double = TypeCode.String << SHIFT Or TypeCode.Double
+        String_Decimal = TypeCode.String << SHIFT Or TypeCode.Decimal
+        String_DateTime = TypeCode.String << SHIFT Or TypeCode.DateTime
+        String_String = TypeCode.String << SHIFT Or TypeCode.String
+    End Enum
+End Namespace
\ No newline at end of file



More information about the Mono-patches mailing list